赞
踩
当程序需要写入日志文件时常常需要实时写入字符串,此时需要用到无缓冲写入。
正常写入数据时,只有数据长度达到上限或者是关闭文件时才会将内容写入到硬盘。在Python2中可以用buffering参数实现无缓冲写入:
with open('./log.txt','a',buffering=0) as file:
file.write('test\n')
但是在Python3中只有在写入二进制内容时才可以使用buffering参数,如果写入字符串会报错,此时可以用flush()
方法实现同样的功能:
with open('./log.txt','a') as file:
file.write('test\n')
file.flush()
flush()
方法的功能为将缓冲区的数据写入硬盘,同时清空缓冲区。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。