Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python未写入文件以进行初始运行_Python_File Io - Fatal编程技术网

python未写入文件以进行初始运行

python未写入文件以进行初始运行,python,file-io,Python,File Io,我有一个超级简单的代码,第一次运行时它不会写入文件。但当运行第二次/多次后,它会写入文件。使用“w”而不是“a”时也会发生同样的情况 在运行fh.close之后,文件似乎没有关闭,因为我无法删除它,并且出现一条消息,说明python正在使用该文件。有什么建议吗?谢谢 fh = open("hello.txt","a") fh.write("hello world again") fh.close fh.close不调用close,它只引用函数。您需要执行fh.close()来调用函数。fh.c

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

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

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

fh.close
不调用close,它只引用函数。您需要执行
fh.close()
来调用函数。

fh.close
不调用close,它只引用函数。您需要执行
fh.close()
来调用函数。

您需要将括号放在fh.close之后,否则您实际上不是在调用函数,如果您以交互方式运行(即空闲),那么解释器将保持文件打开

因此,将最后一行更改为:

fh.close()

James

您需要将括号放在fh.close之后,否则您实际上没有调用该函数,如果您以交互方式运行(即空闲),那么解释器将保持文件打开

因此,将最后一行更改为:

fh.close()

詹姆斯

其他海报都是正确的

另外,我建议在处理文件时使用“with”语句,因为当代码超出范围时,它们将自动关闭

with open("hello.txt","a") as fh:
    fh.write("hello world again")

# Code that doesnt use the file continues here

如果使用此选项,您就不必担心关闭文件。即使出现运行时错误,该文件仍将始终关闭。

其他海报是正确的

另外,我建议在处理文件时使用“with”语句,因为当代码超出范围时,它们将自动关闭

with open("hello.txt","a") as fh:
    fh.write("hello world again")

# Code that doesnt use the file continues here

如果使用此选项,您就不必担心关闭文件。即使出现运行时错误,文件仍将被关闭。

重复回答为道格拉斯,请考虑删除。@詹姆斯肯特没有看到他的答案,当我张贴,但我的答案解释了为什么他不能删除文件,所以将离开它。重复回答道格拉斯,请考虑删除。@。Jameskent在我发布时没有看到他的答案,但是我的答案解释了为什么他无法删除该文件,因此将保留该文件。+1用于提及预定义的清理操作。“执行语句后,文件f始终关闭,即使在处理行时遇到问题。”()。+1用于提及预定义的清理操作。执行语句后,文件f始终关闭,即使在处理行时遇到问题“()。