设置文件的缓冲
文件的缓冲通常分为:全缓冲,行缓冲,无缓冲
在某些tty设备(比如终端设备)就是使用的行缓冲
串口设备就是无缓冲
如何设置python中文件对象的缓冲行为?
解决方案:
全缓冲:open函数中的buffering设置为大于1的整数n,n为缓冲区大小
行缓冲:open函数中的buffering设置为1
无缓冲:open函数中的buffering设置为0
举个栗子:
#全缓冲:
a = open('demo.txt' , 'w' , buffering = 20)
a.write('=' * 20)
另起窗口使用tail -f demo.txt监测到:
====================
#行缓冲:
a = open('demo.txt' , 'w' , buffering = 1)
a.write(' 1234\n ')
另起窗口使用tail -f demo.txt监测到:
1234
#无缓冲
a = open('demo.txt' , 'w' , buffering = 0)
a.write('abcde')
另起窗口使用tail -f demo.txt监测到:
abcde(直接显示)