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 相关文章推荐
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Nov 16 Python
python执行使用shell命令方法分享
Nov 08 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
Win8下python3.5.1安装教程
Jul 29 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
简单了解python中对象的取反运算符
Jul 01 Python
Python文件路径名的操作方法
Oct 30 Python
python实现飞行棋游戏
Feb 05 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
python——全排列数的生成方式
Feb 26 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
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
ES6新特性之Symbol类型用法分析
2017/03/31 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:10:49]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
Python实现替换文件中指定内容的方法
2018/03/19 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Python中的枚举类型示例介绍
2019/01/09 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
策划总监岗位职责
2014/02/16 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
2014全年工作总结
2014/11/27 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android