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 无法向文件写入内容》

猜你喜欢

转载自blog.csdn.net/tiantuanzi/article/details/80856466