首页 / PYTHON / Python文件操作总结
Python文件操作总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python文件操作总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2421字,纯文字阅读大概需要4分钟。
内容图文
一、文件操作的常用方法:
1、read():从光标位置开始读取整个文件剩下的内容,注意是从光标位置开始,不一定是读取整个文件。
# 第一次读取: f=open(‘test.txt‘,‘r‘) print(f.read()) f.close() #自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿. 作者:仓央嘉措 #第二次读取 f=open(‘test.txt‘,‘r‘) f.readline() print(f.read()) #作者:仓央嘉措 f.close()
2、readline和readlines的区别:
# readline()只读取一行,然后光标移动到下一行 f=open(‘test.txt‘,‘r‘) print(f.readline()) #自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.print(f.readline()) #作者:仓央嘉措f.close() #readllines()读取整个文件,然后把每一行当成一个元素存成一个列表。注意每个元素后后带有换号符 f=open(‘test.txt‘,‘r‘) print(f.readlines()) #[‘自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.\n‘, ‘作者:仓央嘉措\n‘]f.close() #最后说明一点:readlines是把真个文件都一次性读写到内存中,如果文件小还好,一旦文件大了,会要命。文件大可以使用下面这种方法来读写: with open(‘test.txt‘,‘r‘) as f: for line in f: print(line.strip()) #这样读写的好处就是一行一行读,并且读完就释放,完全不占用内存。
3、write,writelines
f.write(‘1111\n222\n‘) #针对文本模式的写,需要自己写换行符 f.write(‘1111\n222\n‘.encode(‘utf-8‘)) #针对b模式的写,需要自己写换行符 f.writelines([‘333\n‘,‘444\n‘]) #文件模式 f.writelines([bytes(‘333\n‘,encoding=‘utf-8‘),‘444\n‘.encode(‘utf-8‘)]) #b模式
4、其他方法:
f.readable() #文件是否可读 f.writable() #文件是否可读 f.closed #文件是否关闭 f.encoding #如果文件打开模式为b,则没有该属性 f.flush() #立刻将文件内容从内存刷到硬盘 f.name #文件名
二、文件光标的移动:
1、read(n)当文件打开方式为文本模式时,代表读取n个字符,文件打开方式为b模式时,代表读取n个字节
# 1、以文本模式读取 with open(‘test.txt‘,‘r‘) as f: print(f.read(4)) #自恐多情#2、以字节模式读取: with open(‘test.txt‘,‘rb‘) as f: print(f.read(4).decode(‘gbk‘)) #自恐 #直接输出:print(f.read()) 输出为 b‘\xd7\xd4\xbf\xd6‘
2、tell() 获取当前文件指针所在的位置,没参数。以字节方式计算返回
with open(‘test.txt‘,‘r‘) as f: print(f.read(4)) #自恐多情print(f.tell()) #8
3、seek() 作用:用于移动文件读写指针到指定位置。
# 函数的原型是:file.seek(offset,whence=0) offset是指偏移量,whence有三个值,0,1,2。0代表移动到文件开头,1,指当前位置,2指文件末尾。 缺省则使用默认值0. #注意:使用参数1,2必须在字节模式b下打开文件! with open(‘test.txt‘,‘r‘) as f: print(f.read(4)) #自恐多情print(f.tell()) #8 f.seek(0,0) #返回开头print(f.read(4)) #自恐多情 with open(‘test.txt‘,‘rb‘) as f: print(f.read(4).decode(‘gbk‘)) #自恐 f.seek(-4,1) print(f.read(4).decode(‘gbk‘)) # 自恐 with open(‘test.txt‘,‘rb‘) as f: f.seek(-4,2) print(f.read(4).decode(‘gbk‘)) #嘉措
二、文件的修改:
实际上我们平时说得修好某个文件的某个地方,实际是本质上并不是直接修改文件,而是覆盖。文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,我们可以用下面的代码来模拟这过程。
import os with open( ‘ test.txt ‘,‘r‘) as f ,open(‘test_1.txt‘,‘w‘) as f1: for line in f: line=line.replace(‘自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.‘, ‘不恐多情损梵行, 唯恐入山误倾城.世间安得双全法,宁负如来不负卿.‘) line=line.replace(‘仓央嘉措‘,‘哟,写bug呢??‘) f1.write(line) os.remove(‘test.txt‘) os.rename(‘test_1.txt‘,‘test.txt‘)
原文:https://www.cnblogs.com/linshuhui/p/8985214.html
内容总结
以上是互联网集市为您收集整理的Python文件操作总结全部内容,希望文章能够帮你解决Python文件操作总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。