Python的文件读写操作

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(),都是一次性读入内存,如果文件太大,内存就爆了。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值