仅当我重新启动外壳程序时脚本才起作用

时间:2018-11-23 23:09:35

标签: python

所以我写了一个脚本,可以从输入中手动获取参数 并将其写入文本文件。我唯一的问题是,仅当我手动重新启动外壳程序时,输入文本才会出现在txt文件中。您将建议什么尝试解决此问题,这样我就不必一直手动重新启动Shell?

脚本很简单,因为我是初学者:D

# input to txt

text_from_input = input()
file=open("testfile.txt","w")
file.write(text_from_input)
file.close

1 个答案:

答案 0 :(得分:4)

在您的代码中,您引用的是文件对象的close方法,但您并未对其进行调用。这意味着在关闭解释器之前文件不会关闭(通过使用del file或将变量重新绑定到其他对象,您也可能获得相同的效果)。

要解决此问题,您只需添加括号即可调用closefile.close()

或更妙的是,使用with statement

with open("testfile.txt","w") as file:
    file.write(text_from_input)
# the file will be closed here

with之后的缩进块结束时,文件将自动关闭。即使由于异常而意外退出该块,也会发生这种情况。