Python3 文件操作:a模式下无法将内容追加进文件

博主在CentOS7.5环境下遇到一个Python脚本问题,当在大型内存占用程序中尝试追加写入文件时,内容无法正常保存。经过分析,确定是文件缓冲区导致的问题。通过在`f.write()`后添加`f.flush()`,成功解决了文件写入不成功的状况。这个问题可能对遇到类似问题的开发者有所启示。
摘要由CSDN通过智能技术生成

最近,我在centos7.5上运行python脚本遇到一个问题,那就是:

f = open('log.txt', 'a')
f.write('[LOG]XXXXX\n')
f.close()

这个简单的语句,单独运行可以成功,但是放在一个内存占用巨大的程序中,就怎么都没法把内容追加到文件里面,而该语句前后语句都可以执行到。
经过推测,估计是文件缓冲区的问题,至于是为什么我也不好解释,毕竟我的操作系统学得一塌糊涂。总之,我尝试加了一行f.flush()在f.write(’[LOG]XXXXX\n’)后面,就好使了,成功将内容追加进文件。(flush方法可以立即清空缓冲区)

这是个小众问题,记录一下,希望为遇到同样问题的人给予一些启发。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值