0

我想在文件中写一些东西。例如,

fo=open('C:\\Python\\readline_test.txt','a')
for i in range(3):
 st='abc'+'\n'
 fo.write(st)
fo.close

然后我在 IDLE 中打开这个 python 文件,然后单击“运行模块”。没有错误信息,但如果我没有退出 IDLE,我发现写入不完整。如何在不退出 IDLE 的情况下完成文件写入?谢谢。

(我在 Windows XP 上使用 Python 2.6.2。)

4

2 回答 2

8

也许是错字,但应该是:

fo.close()

然后它应该工作。

或者,您可以使用with语句语法(更好的示例):

with open('C:\\Python\\readline_test.txt','a') as fo:
    for i in range(3):
        fo.write('abc'+'\n')

with离开区块时文件会自动关闭。

(而不是'abc'+'\n',只写'abc\n'

于 2010-04-17T14:43:02.173 回答
0

您可以尝试使用

fo.flush()

和也许

os.fsync()

在写入文件对象以确保所有文件操作都刷新到磁盘之后。

于 2010-04-17T14:46:54.663 回答