在不退出IDLE的情况下写入文件是不完整的(Python GUI)

时间:2010-04-17 14:39:14

标签: python file python-idle

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

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。)

2 个答案:

答案 0 :(得分:8)

也许是一个错字,但它应该是:

fo.close()

然后它应该工作。

备选方案,您可以使用with语句语法(better example):

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

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

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

答案 1 :(得分:0)

您可以尝试使用

fo.flush()

和mayby

os.fsync()

写入文件对象后,确保将所有文件操作刷新到磁盘。