一、文件读写模式
1、文件的几种模式:
格式:f=open("文件名","模式",encode="utf-8")
#文件的只读模式
f1=open("test1","r",encoding="utf-8") #encoding="utf-8"可以不写
print(f1.read())
#文件只写模式,文件如果不存在,则创建,存在写入内容会覆盖原来的
f2=open("test2","w",encoding="utf-8")
f2.write("q5ert\n")
#文件追加模式,通常用于写日志
f3=open("test2","a",encoding="utf-8")
f3.write("1213\n1234")
"+" 表示可以同时读写文件
- r+, 读写【可读,可写】
- w+,写读【可读,可写】
- x+ ,写读【可读,可写】
- a+, 写读【可读,可写】
"b"表示以字节的方式操作
- rb 或 r+b
- wb 或 w+b
- xb 或 w+b
- ab 或 a+b
注:以b方式打开时,读取的是byte类型
# #读写模式、先读后写
# f1=open("test1","r+")
# print(f1.read())
# f1.write("qqqqqqqqqq")
# #写读模式,先写后读
# f2=open("test2","w+")
# f2.write("qqqqqqqqqq")
# f2.read()
# print(f2.read())
#追加写读
f2=open("test2","a+")
f2.write("wwwwwwww") # f1=open("test1","rb") #不需要指定编码
# print(f1.read())
# #b'0000000000\r\n1111111111\r\n2222222222\r\n3333333333\r\n4444444444\r\n5555555555'
3、文件的修改,例如将test2中的文件内容修改成test1的内容
import os
with open('test1','r',encoding="utf-8") as f1,\
open('test2','w',encoding="utf-8") as f2:
for i in f1:
f2.write(line) os.remove('test1')
os.rename('test2','test3')
如果我们对文件其中某个内容就行修改呢
打开两个文件,修改其中内容后再写入另一个文件
f1=open("text1","r+",encoding="utf-8")
f2=open("text2","w+",encoding="utf-8")
for line in f:
if "" in line:
line=line.replace("","qqqq")
f2.write(line)