首页 / PYTHON / Python的文件读写操作
Python的文件读写操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python的文件读写操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2326字,纯文字阅读大概需要4分钟。
内容图文
![Python的文件读写操作](/upload/InfoBanner/zyjiaocheng/856/2faf41f2a52849f598974706e3004367.jpg)
Python的文件读写虽然easy到爆,但是有些东西还是需要一点小小的care。比如文件的操作效率
首先我们建立一个文件,我把放在E盘,内容:
- 一、文件的读:
file = "E:test.txt"
f = open(file,"r")
lines = f.readlines()#将文件全部读到内存中,转换成列表的模式
print(lines)#打印结果
#结果:['这是第一行\n', '这是第二行\n', '这是第三行\n', '这是第四行']
f.seek(0)#将光标置顶,上面我们把文件读了一遍,那么此时光标就在文件的最后面
#为什么要将光标置顶呢?这是为了再次从头开始读文件,为什么传参数0呢?假设你
#随便传一个参数n,那么光标就在离文件开头n位
read =f.read()
print(read)#将文件完整的读入到内存,在读出来
#结果:
# 这是第一行
#这是第二行
#这是第三行
#这是第四行
f.seek(0)
f.readline()#读取一行
r:代表只读
- 二、文件的写:
file = "E:test.txt"
file1 = open(file,"w")
file1.write("我爸是李刚")#这种写是把文件清空,再往里面写
file1.close()
file2 = open(file,"r")
print(file2.read())
#结果:我爸是李刚
- 三、文件的读写:
r+:这个光标在哪从哪读,光标在哪从哪写,注意:写的话,如果后面有字符串就会覆盖。
file = "E:test.txt"
f1 = open(file,"r+")
print(f1.read())#结果:
# 这是第一行
# 这是第二行
# 这是第三行
# 这是第四行
f1.write("你大爷")
f1.seek(0)#光标置顶
f1.write("小爷我")
f1.seek(0)
print(f1.read())
#结果:
# 小爷我一行
# 这是第二行
# 这是第三行
# 这是第四行你大爷
- 四、文件的写读:
w+:如果有文件是会被清空的,没有就会自动创建,so只能先写再读,如果先读的话,啥也没有。
file = "E:test.txt"
f1 = open(file,"w+")
print(f1.read())#结果:(什么也没有)
f1.write("pig")#写入
f1.seek(0)#光标置顶
print(f1.read())
#结果:pig
- 五、文件的追加:
a:这个无论你把文件光标移动到哪里,就是从后面的追加。没得办法哦。
file = "E:test.txt"
f1 = open(file,"a")
f1.write("小哥")
- 六、文件的修改:
文件的修改有两种方法:the first blood:就是本文的第三大点,OK吧。
the double kill:就是复制一份,可以边读边复制,读到自己想到改变的数据,把它替换掉,就OK了,举个例子:
file = "E:test.txt"
f1 = open(file,"r")
f2 = open("E:nestTest.txt","w")#创建一个保存文件
lines =f1.readlines()#读文件
for line in lines:
print(line)
if "这是第二行" in line:#查找:“这是第二行”
line = "我要替换你\n"#替换的内容
f2.write(line)
#结果:
- 七、文件操作效率比较:
file = "E:test.txt"
f1 = open(file,"r")
for line in f1:
print(line)#这里也可以是复制到另一个文件,采用这种方式不占内存,每次只读一行到内存。
#如果你用read(),readline(),readlines(),都是一次性读入内存,如果文件太大,内存就爆了。
内容总结
以上是互联网集市为您收集整理的Python的文件读写操作全部内容,希望文章能够帮你解决Python的文件读写操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。