Python-设置文件缓冲类型

案例:

       将文件内容写入到硬件设备时候,使用系统调用,这类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')

  

posted @ 2017-07-30 11:07  梦_鱼  阅读(1722)  评论(0编辑  收藏  举报