python - 脚本只有在我重新启动 shell 时才有效

标签 python

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

脚本很简单,因为我是新手 :D

# input to txt

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

最佳答案

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

要解决这个问题,您可以通过添加括号调用close:file.close()

或者更好的是,使用 with statement :

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

with 后面的缩进 block 结束时,文件将自动关闭。即使您由于异常而意外退出该 block ,它也会发生。

关于python - 脚本只有在我重新启动 shell 时才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53453750/

相关文章:

python - OS X Leopard 上的多个 Python 版本

python - 无法针对谷歌云sql运行manage.py

python - Python 中的 sum(65537) 有什么问题?

python - 从数据框中的每个组中删除特定的一组行

python - 如何在 0 个值的 pandas 数据帧末尾添加 n 行?

java - 构造大小为 N 的 1 和 -1 的数组 A,使得所有 A[i]*A[j] 的总和为最小且为正。 1 <= 我 < j <= N

python - 如何在 Python 中将表示为字符的数字简称为数字

python-list([0,0]) 与 [0,0] 有何不同?

python - 合并同一索引上的数据帧

python - 为什么我无法舍入数据框 pandas 中的列