案例:

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

  

Python-设置文件缓冲类型的更多相关文章

  1. python_如何设置文件缓冲类型

    案例: 将文件内容写入到硬件设备时候,使用系统调用,这类IO操作时间长,为了减小IO操作,通常会使用缓冲区(有足够多数据才能调用). 文件缓冲行为分为:全缓冲,行缓冲,无缓冲 如何解决? open(' ...

  2. python 读写文件和设置文件的字符编码

    一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明:第一个参数是文件名称,包括路径:第二个参数是打开的模式mo ...

  3. 【Python开发】python读写文件,和设置文件的字符编码比如utf-8

    一. python打开文件代码如下: f = open("d:\test.txt", "w") 说明: 第一个参数是文件名称,包括路径: 第二个参数是打开的模式 ...

  4. Python的文件类型

    Python的文件类型主要分为3种:源代码(source file).字节码(byte-code file).优化的字节码(optimized file).这些代码都可以直接运行,不需要编译或者连接. ...

  5. 【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

    原文网址:http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用 ...

  6. 【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型

    1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚 ...

  7. 2.python的文件类型、变量数值和字符串练习

    1.python的文件类型 .源代码 -python 源代码文件以"py"为扩展名,由python程序解释,不需要编译. 2.字节代码(编译的) -python源码文件经编译后生成 ...

  8. 【C++程序员学 python】python 的文件类型

    python的文件类型主要分为3种,分别是源代码.字节代码和优化代码.这些代码都可以直接运行,不需要进行编译或者连接.这正是python语言的特性,python的文件通过python.exe 或pyt ...

  9. php设置文件类型content-type

    在PHP中可以通过header函数来发送头信息,还可以设置文件的content-type,下面整理了一些常见文件类型对于的content-type值. //date 2015-06-22//定义编码h ...

随机推荐

  1. 【socket编程基础模板】

    网络编程的基础是基于socket编程.socket(TCP)编程基于固定编程模板 server端: socket(声明socket类型) bind(命令socket,绑定地址和端口) listen(创 ...

  2. Qt setMouseTracking使用

    Qt setMouseTracking使用(转载)   bool mouseTracking 这个属性保存的是窗口部件跟踪鼠标是否生效. 如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标 ...

  3. 科赫雪花利用python海龟绘图代码

    #KochDraw.py import turtle //海龟绘图 def koch(size, n): if n == 0: turtle.fd(size) else: for angle in [ ...

  4. android开发之java的一些基础知识详解,java编程语法,扎实自己的android基本功

    1.对象的初始化 (1)非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化. 基本类型:int型,初始化为0. 如果为对象:这些对象会按顺序初始化. ※在所有类成员初始化完成之 ...

  5. [AngstromCTF 2019]Cookie Cutter

    最近看到了一个国外高中生的CTF比赛,翻了一下往年的例题,发现有一道关于jwt session伪造的题比较有意思,记录一下 题目简介中给出了我们题目的地址和后端处理的源码,看看源码先代码审计一下: c ...

  6. Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作

    今天是golang专题第15篇文章,我们来继续聊聊channel的使用. 在我们的上篇文章当中我们简单介绍了golang当中channel的使用方法,channel是golang当中一个非常重要的设计 ...

  7. leetcode刷题-50Pow(x, n)

    题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 思路 最初的想法n>0计算res = res*x 计算n次,n<0,将x取倒数后同理,但结果表明计算速度太慢了. 后续应该 ...

  8. 下载安装gradle

    1.登录官网:www.gradle.org,进入到下图的界面: 2.点击Install Gradle,跳转到下一个界面后: 3.下载 4.下载成功后,解压到任意位置,将路径添加到path路径下,选择我 ...

  9. robotframework运行时后台报错UnicodeDecodeError,无日志输出

    解决办法: 1.找到对应位置的testrunner.py文件,修改字符集为GBK 2.删除同级目录下的testrunner.pyc 3.重启ride

  10. Python 面试题 字符串 删除多少个字符使得出现做多的字符数量大于等于字符串长度的一半.

    str1 = input() num = {} for i in set(str1): num[i]=str1.count(i) max_value = max(num.values()) n=abs ...