本节重点
掌握文件的读、写、修改方法
掌握文件的处理模式的区别
一.文件读取
1.读取全部内容
# 一次性读取文件
f = open("test.txt",'r',encoding='gbk')
data = f.read()
print(data)
f.close()
2.按行读取
# 按行读取
f = open("test.txt",'r',encoding='gbk')
data = f.readline()
print(data,end='')
f.close()
3.循环读取
# 循环读取
f = open("test.txt",'r',encoding='gbk')
for line in f:
print(line,end='')
f.close()
# 循环读取二
f = open('test.txt','r',encoding='gbk')
data = f.readlines()
for line in data:
print(line)
4.二进制读取
# 二进制读取
f = open("test.txt",'rb')
data = f.read()
print(data.decode('gbk'))
f.close()
5.按字符读取
# 按字节读取
f = open("test.txt",'r',encoding='gbk')
data = f.read(1)
print(data)
f.close() f = open("test.txt",'r',encoding='gbk')
data = f.readline(2)
print(data)
f.close()
二.文件写入
1.清空原内容写入
# 清空原内容写入
f = open('test.txt','w',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存
2.追加内容
# 清空原内容写入
f = open('test.txt','a',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存
3.二进制写入
# 清空原内容写入
f = open('test.txt','wb')
f.wirte('新内容,新世界'.encode('gbk'))
f.close() # 关闭并保存
4.flush保存
# flush强刷保存内容
f = open('test2.txt','w',encoding='gbk')
f.write('新内容,新世界3')
f.flush() #保存内容 #f.close()
三.文件修改
1.一次性修改,占用cpu
# 一次性修改
f = open("test.txt",'r+',encoding='gbk')
data = f.read()
f.seek(0)
f.truncate()
data = data.replace('Zi','子')
f.write(data)
f.close()
2.边读边改,占用硬盘
# 边读边改
import os
f_name = "test.txt"
f_temp_name = "test_temp.txt"
f = open(f_name,'r',encoding='gbk')
f_temp = open(f_temp_name,'w',encoding='gbk')
for line in f:
f_temp.write(line.replace('子','Zi'))
f.close()
f_temp.close()
os.replace(f_temp_name,f_name)
四.文件处理模式