我有一个超级简单的代码,第一次运行时它不会写入文件。但是当运行第二次/多次后,它会写入文件。使用“w”代替“a”也会发生同样的事情。
在运行fh.close之后,似乎文件没有关闭,因为我无法删除它 - 并且会显示一条消息,指出python正在使用该文件。有什么建议?谢谢!
fh = open("hello.txt","a")
fh.write("hello world again")
fh.close
答案 0 :(得分:2)
fh.close
不会调用close,它只是引用该函数。您需要fh.close()
来调用该函数。
答案 1 :(得分:2)
你需要在fh.close之后放置括号,否则你实际上并没有调用该函数,如果你以交互方式运行(即使用IDLE),那么解释器会保持文件打开。
所以将你的最后一行更改为:
fh.close()
詹姆斯
答案 2 :(得分:1)
其他海报是正确的。
另外,我建议使用"和#34;处理文件时的语句,因为当代码超出范围时,它们将自动关闭。
with open("hello.txt","a") as fh:
fh.write("hello world again")
# Code that doesnt use the file continues here
如果您使用此功能,则无需担心关闭文件。即使发生运行时错误,文件仍将始终关闭。