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 相关文章推荐
Python2.7 实现引入自己写的类方法
Apr 29 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
用django设置session过期时间的方法解析
Aug 05 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
简单分析python的类变量、实例变量
Aug 23 Python
python 字典访问的三种方法小结
Dec 05 Python
python 经典数字滤波实例
Dec 16 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
Dec 31 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.MVC的模板标签系统(四)
2006/09/05 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
js function定义函数使用心得
2010/04/15 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
基于vue2.0实现简单轮播图
2017/11/27 Javascript
webpack多页面开发实践
2017/12/18 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
用Python写冒泡排序代码
2016/04/12 Python
Windows下python3.6.4安装教程
2018/07/31 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
python中_del_还原数据的方法
2020/12/09 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
《一件运动衫》教学反思
2014/02/19 职场文书
入党介绍人意见2015
2015/06/01 职场文书