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获取电脑硬件信息及状态的实现方法
Aug 29 Python
详解使用 pyenv 管理多个版本 python 环境
Oct 19 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
详解python调用cmd命令三种方法
Jul 08 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
详解python 降级到3.6终极解决方案
Feb 06 Python
Python阶乘求和的代码详解
Feb 14 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
python生成xml时规定dtd实例方法
Sep 21 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
phpfpm的作用和用法
2019/10/10 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
javascript比较文档位置
2008/04/08 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
javaScript实现游戏倒计时功能
2018/11/17 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
JavaScript继承与聚合实例详解
2019/01/22 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python线程池的实现实例
2013/11/18 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
如何在C# winform中异步调用web services
2015/09/21 面试题
致200米运动员广播稿
2014/02/06 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
个人委托书怎么写
2014/09/17 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
总结Python常用的魔法方法
2021/05/25 Python
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers