位置: 编程技术 - 正文

Python中文件I/O高效操作处理的技巧分享(python文件a)

编辑:rootadmin

推荐整理分享Python中文件I/O高效操作处理的技巧分享(python文件a),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python文件处理方法,python文件with open,python.file,python文件wt,python file name too long,python中文件处理,python file name too long,python file name too long,内容如对您有帮助,希望把文章链接给更多的朋友!

如何读写文本文件?

实际案例

某文本文件编码格式已直(如UTF-8,GBK,BIG5),在python2.x和python3.x中分别如何读取这些文件?

解决方案

字符串的语义发生了变化:

python2 python3 str bytes unicode str

python2.x 写入文件前对 unicode 编码,读入文件后对二进制字符串解码

python3.x 中 open 函数指定 t 的文本模式, encoding 指定编码格式

如何设置文件的缓冲

实际案例

将文件内容写入到硬盘设备时,使用系统调用,这类I/O操作的时间很长,为了减少I/O操作的次数,文件通常使用缓冲区(有足够多的数据才进行系统调用),文件的缓存行为,分为全缓冲、行缓存、无缓冲。

如何设置Python中文件对象的缓冲行文?

解决方案

全缓冲: open 函数的 buffering 设置为大于1的整数n,n为缓冲区大小

行缓冲: open 函数的 buffering 设置为1

无缓冲: open 函数的 buffering 设置为0

如何将文件映射到内存?

实际案例

在访问某些二进制文件时,希望能把文件映射到内存中,可以实现随机访问.(framebuffer设备文件) 某些嵌入式设备,寄存器呗编址到内存地址空间,我们可以映射 /dev/mem 某范围,去访问这些寄存器 如果多个进程映射到同一个文件,还能实现进程通信的目的

解决方案

使用标准库中的 mmap 模块的 mmap() 函数,它需要一个打开的文件描述符作为参数

创建如下文件

查看

Python中文件I/O高效操作处理的技巧分享(python文件a)

修改切片

查看

查看

如何访问文件的状态?

实际案例

在某些项目中,我们需要获得文件状态,例如:

文件的类型(普通文件、目录、符号链接、设备文件…) 文件的访问权限 文件的最后的访问/修改/节点状态更改时间 普通文件的大小 …..

解决方案

当前目录有如下文件

系统调用

标准库中的os模块下的三个系统调用 stat 、 fstat 、 lstat 获取文件状态

获取文件的访问权限,只要大于0就为真

获取文件的修改时间

将获取到的时间戳进行转换

获取普通文件的大小

快捷函数

标准库中 os.path 下的一些函数,使用起来更加简洁

文件类型判断

文件三个时间

获取文件大小

如何使用临时文件?

实际案例

某项目中,我们从传感器采集数据,每收集到1G数据后,做数据分析,最终只保存分析结果,这样很大的临时数据如果常驻内存,将消耗大量内存资源,我们可以使用临时文件存储这些临时数据(外部存储)

临时文件不用命名,且关闭后会自动被删除

解决方案

使用标准库中的 tempfile 下的 TemporaryFile, NamedTemporaryFile

总结

本文链接地址:https://www.jiuchutong.com/biancheng/380035.html 转载请保留说明!

上一篇:Django应用程序中如何发送电子邮件详解(django应用开发实战)

下一篇:详解python脚本自动生成需要文件实例代码(python脚本代码大全)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络