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 24 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
Python if语句知识点用法总结
Jun 10 Python
python将txt文件读取为字典的示例
Dec 22 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
Python调用JavaScript代码的方法
Oct 27 Python
python lambda的使用详解
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
PHPMYADMIN 简明安装教程 推荐
2010/03/07 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
python排序方法实例分析
2015/04/30 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
2016/12/22 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
家长会主持词
2014/03/26 职场文书
十周年庆典策划方案
2014/06/03 职场文书
预备党员半年考察意见
2015/06/01 职场文书
如何撰写促销方案?
2019/07/05 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL
Go 内联优化让程序员爱不释手
2022/06/21 Golang