所以我写了一个脚本,可以从输入中手动获取参数 并将其写入文本文件。我唯一的问题是,仅当我手动重新启动外壳程序时,输入文本才会出现在txt文件中。您将建议什么尝试解决此问题,这样我就不必一直手动重新启动Shell?
脚本很简单,因为我是初学者:D
# input to txt
text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close
答案 0 :(得分:4)
在您的代码中,您引用的是文件对象的close
方法,但您并未对其进行调用。这意味着在关闭解释器之前文件不会关闭(通过使用del file
或将变量重新绑定到其他对象,您也可能获得相同的效果)。
要解决此问题,您只需添加括号即可调用close
:file.close()
或更妙的是,使用with
statement:
with open("testfile.txt","w") as file:
file.write(text_from_input)
# the file will be closed here
with
之后的缩进块结束时,文件将自动关闭。即使由于异常而意外退出该块,也会发生这种情况。