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中requests模块的使用方法
Apr 08 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
Jan 09 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
Python的scikit-image模块实例讲解
Dec 30 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
php图像验证码生成代码
2017/06/08 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
浅谈Python的异常处理
2016/06/19 Python
遗传算法python版
2018/03/19 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
python 简单的调用有道翻译
2020/11/25 Python
安全生产投入制度
2014/01/29 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
初中优秀学生评语
2014/12/29 职场文书
行政前台岗位职责
2015/04/16 职场文书
开学典礼致辞
2015/07/29 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android