本节重点
- 掌握文件的读、写、修改方法
- 掌握文件的处理模式的区别
一.文件读取
? ?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()
?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)
原文地址:https://www.cnblogs.com/LTEF/p/9395106.html
时间: 2024-10-10 02:07:39