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批量修改文件后缀示例代码分享
Dec 24 Python
python两种遍历字典(dict)的方法比较
May 29 Python
利用python求相邻数的方法示例
Aug 18 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
解决pycharm无法调用pip安装的包问题
May 18 Python
Python3.5文件修改操作实例分析
May 01 Python
Django urls.py重构及参数传递详解
Jul 23 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
python实现查找所有程序的安装信息
Feb 18 Python
Python环境搭建过程从安装到Hello World
Feb 05 Python
Python数据结构之队列详解
Mar 21 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
理解php Hash函数,增强密码安全
2011/02/25 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
PHP7变量处理机制修改
2021/03/09 PHP
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
初识Node.js
2014/09/03 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
python根据经纬度计算距离示例
2014/02/16 Python
python实现ipsec开权限实例
2014/11/11 Python
Python中多线程及程序锁浅析
2015/01/21 Python
python 队列详解及实例代码
2016/10/18 Python
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
python实现控制台打印的方法
2019/01/12 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
python plotly绘制直方图实例详解
2019/07/22 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
物业管理个人自我评价
2013/11/08 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
导游词之西安骊山
2019/12/03 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
CSS的calc函数用法小结
2022/06/25 HTML / CSS
Python实现聚类K-means算法详解
2022/07/15 Python