Python3之文件读写操作的实例讲解


Posted in Python onJanuary 23, 2018

文件操作的步骤:

打开文件 -> 操作文件 -> 关闭文件

切记:最后要关闭文件(否则可能会有意想不到的结果)

打开文件

文件句柄 = open(‘文件路径', ‘模式')

指定文件编码

文件句柄= open(‘文件路径','模式',encoding='utf-8')

为了防止忘记关闭文件,可以使用上下文管理器来打开文件

with open(‘文件路径','模式') as 文件句柄:

打开文件的模式有:

r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
r+,可读写文件。【可读;可写;可追加】
w+,写读
“U”表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU

r+U

“b”表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb

wb
ab

关闭文件

文件句柄.close()

操作文件:

detach

占位

fileno(返回文件描述符,用于底层操作系统的 I/O 操作)

fid = 文件句柄.fileno()

print(fid)

flush(刷新缓冲区,将缓冲区中的数据立刻写入文件)

文件句柄.flush()

isatty(判断文件是否连接到一个终端设备,返回布尔值)

文件句柄.isatty()

read(从文件中读取指定的字符数,默认读取全部)

str = 文件句柄.read() #读取整个文件
str1 = 文件句柄.read(10) #读取文件前10个字符
readable(判断文件是否可读,返回布尔值)

文件句柄.readable()

readline(每次最多读取一行数据,每行的最后包含换行符'\n')

print(文件句柄.readline()) #读取第一行数据
print(文件句柄.readline(3)) #读取第二行前3个字符
print(文件句柄.readline()) #读取第二行剩余字符
print(文件句柄.readline()) #读取第三行

seek(移动文件读取的指针,如果文件中包含中文,移动指针必须是3的倍数,不然会报错,因为一个中文字符等于3个字节)

文件句柄.seek(6)

seekable(判断文件指针是否可用,返回布尔值)

文件句柄.seekable()

tell(获取指针位置)

文件句柄.tell()

truncate(截断,把指针后面的内容删除,并写入文件,要在可写模式下操作)

f = open(‘text.txt','r+',encoding='utf-8')
f.seek(9) #把指针移动到第9个字节后面(即第3个中文后面)
f.truncate() #把第3个中文后面的字符删除,并写入文件
f.close()

writable(判断文件是否可写,返回布尔值)

文件句柄.writable()

write(把字符串写入文件,并返回字符数)

文件句柄.write(‘字符串')

Python 相关文章推荐
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
python操作toml文件的示例代码
Nov 27 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 Python
Python实现邮件的批量发送的示例代码
Jan 23 #Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 #Python
python正则表达式面试题解答
Apr 28 #Python
Django中使用celery完成异步任务的示例代码
Jan 23 #Python
python3 发送任意文件邮件的实例
Jan 23 #Python
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 #Python
Python实现PS图像明亮度调整效果示例
Jan 23 #Python
You might like
PHP框架性能测试报告
2016/05/08 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
js实现圆盘记速表
2015/08/03 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
Python实现截屏的函数
2015/07/25 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
计算机专业毕业生推荐信
2013/11/25 职场文书
党员个人思想汇报
2013/12/28 职场文书
运动会800米加油稿
2014/02/22 职场文书
会计岗位说明书
2014/07/29 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
文员岗位职责
2015/02/04 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS