最近,我在centos7.5上运行python脚本遇到一个问题,那就是:
f = open('log.txt', 'a')
f.write('[LOG]XXXXX\n')
f.close()
这个简单的语句,单独运行可以成功,但是放在一个内存占用巨大的程序中,就怎么都没法把内容追加到文件里面,而该语句前后语句都可以执行到。
经过推测,估计是文件缓冲区的问题,至于是为什么我也不好解释,毕竟我的操作系统学得一塌糊涂。总之,我尝试加了一行f.flush()在f.write(’[LOG]XXXXX\n’)后面,就好使了,成功将内容追加进文件。(flush方法可以立即清空缓冲区)
这是个小众问题,记录一下,希望为遇到同样问题的人给予一些启发。