python没有写入文件进行初始运行

时间:2014-08-01 13:19:08

标签: python file-io

我有一个超级简单的代码,第一次运行时它不会写入文件。但是当运行第二次/多次后,它会写入文件。使用“w”代替“a”也会发生同样的事情。

在运行fh.close之后,似乎文件没有关闭,因为我无法删除它 - 并且会显示一条消息,指出python正在使用该文件。有什么建议?谢谢!

fh = open("hello.txt","a")
fh.write("hello world again")
fh.close

3 个答案:

答案 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

如果您使用此功能,则无需担心关闭文件。即使发生运行时错误,文件仍将始终关闭。