python write函数,写入文件只能写入一半

示例:

writeFile = open('write.txt', 'w')
for i in range(1, 1000):
    data = str(i) + 'aaaaaaaaaaaaaaaaaaaaaaaaaa\n'
    writeFile.write(data)

结果生成的文件只有798行:


问题原因:

要写入的内容依然在缓冲区中,没有写入文件

两种解决方法:

1.使用flush()函数;

writeFile = open('write.txt', 'w')
for i in range(1, 1000):
    data = str(i) + 'aaaaaaaaaaaaaaaaaaaaaaaaaa\n'
    writeFile.write(data)
    writeFile.flush()

2.正确的调用close()函数;

writeFile = open('write.txt', 'w')
for i in range(1, 1000):
    data = str(i) + 'aaaaaaaaaaaaaaaaaaaaaaaaaa\n'
    writeFile.write(data)
writeFile.close()



参考文档:

《python中 .write 无法向文件写入内容》

阅读更多
个人分类: Python
上一篇修复pyhdfs无法获取hadoop文件的问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭