案例:
将文件内容写入到硬件设备时候,使用系统调用,这类IO操作时间长,为了减小IO操作,通常会使用缓冲区(有足够多数据才能调用)。
文件缓冲行为分为:全缓冲,行缓冲,无缓冲
如何解决?
open(‘’, ‘’, buffering = a) # buffering设置缓冲行为
全缓冲: a 是正整数,当缓冲区文件大小达到a大小时候,写入磁盘
行缓冲: buffering = 1, 缓冲区碰到 \n 换行符的时候就写入磁盘
无缓冲:buffering = 0 ,写多少,存多少
#!/usr/bin/python3 # 设置定长缓冲区 with open(‘test.text‘, ‘w+‘, encoding=‘utf-8‘, buffering=20) as f: f.write(‘hello word!‘) f.write(‘定个小目标,挣它一个亿‘) f.write(‘are you ok‘) # 设置行缓冲 with open(‘test_1.text‘, ‘w+‘, encoding=‘utf-8‘, buffering=1) as f: f.write(‘hello word!\n‘) f.write(‘定个小目标,挣它一个亿\n‘) f.write(‘are you ok\n‘) #设置无缓冲 # 注意,text文件类型必须要写缓冲区 with open(‘test_2.text‘, ‘wb+‘, buffering=0) as f: f.write(b‘hello word!\n‘) f.write(b‘are you ok‘)
时间: 2024-10-11 20:20:44