首页 > 解决方案 > 脚本仅在我重新启动 shell 时才有效

问题描述

所以我写了一个脚本,它从输入(手动)获取参数,并将其写入一个文本文件。我唯一的问题是输入中的文本不会出现在 txt 文件中,只有当我手动重新启动 shell 时。你会推荐什么来解决这个问题,这样我就不必一直手动重新启动 shell?

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

# input to txt

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

标签: python

解决方案


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

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

或者更好的是,使用with声明

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

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


推荐阅读