3.2文件读写相关知识点(文件修改方法)
一、读
1、读法
①f=open("file_name","r",encoding="utf-8") #只读
②f=open("file_name","r+",encoding="utf-8") #可读可追加
③f=open("file_name","rb") #读二进制文件(用于网络传输)
2、读的用法
f.read() #()内空为读全文,填X则从头读到X
f.readline() #读行
高效的读(转为迭代器)
for line in f:
print(line)
二、写
1、写法
①6f=open("file_name","w",encoding="utf-8") #只写
②6f=open("file_name","w+",encoding="utf-8") #可写(覆盖源文件)可读
③f=open("file_name","wb",encoding="utf-8") #只可写二进制文件
2、写的用法
①f.write() #直接用()的内容将原文件全覆盖
三、追加
1、追加
①f=open("file_name","a",encoding="utf-8") #只追加
②f=open("file_name","a+",encoding="utf-8") #可追加可读
③f=open("file_name","ab",encoding="utf-8") #只可追加二进制文件
2、追加用法
①f.write() #在文件最后追加()内容
四、其他
1、文件关闭(用完文件后必须添加)
f.close()
2、直接调用文件(调用完自动关闭文件)
with open("file_name","r",encoding="utf-8") as f:
for……
同时打开多个文件操作:
with open("file_name","r",encoding="utf-8") as f,\
open("file_name","r",encoding="utf-8") as f:
for……
3、光标操作
①tell光标位置
f.tell()
②seek返回光标
f.seek(X) #光标回到X位置
4、其他功能
①encoding返回是什么编码
②flush刷新(将缓存保存到硬盘,避免死机消失)
③truncake截断(从头截断到第X位)
5、文件的修改
因为原文件无法修改,所以可以新建一个文件,读原文件并在新文件中修改想要修改的地方
例:
f=open("old_file","r",encoding="utf-8")
f_new=open("new_file","w",encoding="utf-8")
for i in f:
if "要修改的语句" in f:
i=i.replace("要修改的语句","修改后的语句")
f_new.write(i)
f.close()
f_new.close()