案例:

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

  

最新文章

  1. 吐槽CodeDom
  2. Windows 8.1安装 Vmware10
  3. linux服务器TCP并发连接数优化
  4. git 教程(5)--工作区和暂存区
  5. scanf()读取带空格的字符串
  6. [IR] Link Analysis
  7. echo "scale=100; a(1)*4" | bc -l 输出圆周率
  8. ural 1155. Troubleduons
  9. Gulp实战和原理解析
  10. 函数 swap
  11. Learning WCF Chapter2 Messaging Protocols
  12. CI框架源代码阅读笔记5 基准測试 BenchMark.php
  13. 当chm文档点击左侧,右侧无内容时的解决方案
  14. Beta冲刺 6
  15. Web性能和负载测试工具补充
  16. Springboot 前后端数据传输 常见误区
  17. WIndows下将文件夹映射为磁盘
  18. 调试.vs08
  19. JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)
  20. BJOI2019 题解

热门文章

  1. ppt的那些小事(一)
  2. c# socket 粘包 其实。。。
  3. debian9 配置数据库
  4. mysql常用的函数
  5. JS原型、原型链深入理解
  6. struts2(三)之表单参数自动封装与参数类型自动转换
  7. HDU 2502 月之数(二进制,规律)
  8. Gym 100952G&&2015 HIAST Collegiate Programming Contest G. The jar of divisors【简单博弈】
  9. BZOJ 3097: Hash Killer I【构造题,思维题】
  10. [Codeforces 696D] Legen...