在Python3中的常用文件操作有什么,如何实现
Admin 2022-07-11 群英技术资讯 315 次浏览
文件操作的步骤:
打开文件 -> 操作文件 -> 关闭文件
切记:最后要关闭文件(否则可能会有意想不到的结果)
文件句柄 = 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('字符串')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在YOLOV5算法之中,针对不同的数据集,一般会预先设置固定的Anchor,下面这篇文章主要给大家介绍了关于yolov5中anchors设置的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于实现定时任务的相关问题,可以使用第三方包来管理定时任务,相对来说apscheduler使用起来更简单,下面一起来看一下使用的方法,希望对大家有帮助。
本文将介绍5种基于Plotly的可视化方法,你会发现,原来可视化不仅可用直方图和箱形图,还能做得如此动态好看甚至可交互。那么,Plotly有哪些好处?Plotly的整合能力很强:可与Ju
这篇文章主要介绍了python 中[0]*2与0*2的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要介绍了Python如何查看两个数据库的同名表的字段名差异,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008