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‘)

  

时间: 2024-07-29 15:36:51

python_如何设置文件缓冲类型的相关文章

17、如何对字符串进行左, 右, 居中对齐 18、如何去掉字符串中不需要的字符 19、如何读写文本文件 20、如何处理二进制文件 21、如何设置文件的缓冲

17.如何对字符串进行左, 右, 居中对齐 info = "GBK" print(info.ljust(20)) print(info.ljust(20,'#')) print(info.rjust(20,'#')) print(info.center(20,"#")) print(format(info,'<20')) print(format(info,'>20')) print(format(info,'^20')) result: GBK GBK

volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域

 1.volatile:要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { time_t start, end; double res = 0; time(&start);  //获取时间,传递给start //volatile强制每次从内存读取 volatile int i; for (i =

获取文件的类型(拖拽)

1.Designer.cs代码 namespace FileStyle { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清理所有正在使用的资源. /// </summary> /// <param name=&qu

IDEA + SSH OA 第一天(IDEA 文件夹类型了解)

回顾一下 IDEA 的文件夹的类型 设置文件夹方法 或者点击右上角的 文件夹的类型选择:可通过,右键文件夹,选择你要的类型: Sources Root : 源码的目录 Resources Root:源码所需资源 的目录(这里的资源可以是图片.配置文件等,我一般放配置文件,作用等同于放置在 Sources Root 根目录下) Test Sources Root:测试源码 的目录(在 IDEA 中,如果测试代码不是放在此类型的文件夹中,无法使用 @Test 等测试注释) Test Resource

C# 设置文件夹的访问权限

/// <summary> /// 设置文件夹的ACL /// </summary> /// <param name="folderPath">文件夹路径</param> /// <param name="userName">用户</param> /// <param name="rights">权限</param> /// <param nam

log4j2.xml日志文件设置文件路径

笔者最近的项目里使用了spring,spring通过web.xml配置监听器,在web启动时web.root系统变量,以供其他变量使用,例如 在属性文件里使用${web.root}以取得完整路径,项目里使用了log4j2,在设置文件路径的时候也尝试用${web.root}却始终无法 获得属性值,创建的文件夹名字叫${web.root},显然这不符合实际工作环境需要.网上也有${sys:web.root}的说法. 也只会创建${sys:web.root}文件夹,后来在官网上找到相关设置方法Look

vim编辑器的设置文件

vim配置特点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2.自动插入文件头 ,新建C.C++源文件时自动插入表头:包括文件名.作者.联系方式.建立时间等,读者可根据需求自行更改 3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码 4.按“F2”可以直接消除代码中的空行 5.“F3”可列出当前目录文件,打开树状文件目录 6. 支持鼠标选择.方向键移动 7. 代码高亮,自动缩进,显示行号,显示状态行 8.按“Ctr

怎么在CAD中设置文件保存的格式

不知道小伙伴们在CAD编辑器中进行CAD制图的过程中有没有遇到过这样的问题,就是在CAD编辑器中绘制的CAD图纸绘制完成后,我们都是会将CAD图纸进行保存的,以便下次方便打开查看,但是经常遇到的情况是保存的图纸文件打不开了,这是为什么呢!这个可能和我们保存文件的格式有关系,那怎么在CAD中设置文件保存的格式呢?那下面我们就一起来看看解决方法吧! 第一步:首先,在电脑桌面中任意打开一个浏览器,在浏览器中搜索迅捷CAD编辑器,进入官网,然后根据系统提示的安装步骤进行安装最新版本的CAD编辑器进行使用

通过Desktop.ini设置文件夹备注以及图标

1.新建一个文件夹temp,进入此文件夹,建立desktop.ini文件,编辑内容为: ; 文件夹图标 [.ShellClassInfo] ;设置文件夹的备注 InfoTip=this is temp file ;局限性资源名称,会修改文件的显示名称,但是原始的文件名不变 LocalizedResourceName=MyTempFilePRo ;设置icon的顺序 IconIndex=mainicon ;设置icon位置 IconFile=%userprofile%\Desktop\bitbug