我想在文件中写一些东西。 例如,
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。)
答案 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()
写入文件对象后,确保将所有文件操作刷新到磁盘。