"""
文件的操作模式:
一:文件的打开模式:
r:只读模式(默认模式)
w:只写模式
a:只追加写模式
二:控制读写文件单位的方式:(必须和r/w/a连用)
t:文本模式(默认)
b:bytes(二进制)模式
rt:
with open('a.txt',mode='rt',encoding='utf-8')as f:
data=f.read()
wt:会对打开的文件进行覆盖
with open('a.txt',mode='wt',encoding='utf-8')as f:
f.write("添加的内容\n")
f.write("添加的内容\n")#在文件没有关闭的情况下一定是后写的跟在前写的后面
f.write("添加的内容\n")
msg=['111','222','333']
f.writelines(msg)#直接将列表里的信息写入到文件中
at:追加写,文件不存在则会创建文件,存在则指针在文件末尾
with open ('a.txt',mode='at',encoding='utf-8')as f:
data=f.write('添加的内容')
注册窗口:
name=input(">>>: ").strip()
password=input('>>>: ').strip()
with open('c.txt',mode='at',encoding='utf-8') as f:
info=('%s:%s\n' %(name,password))
f.write(info)
rb:
with open('a.txt',mode='rb') as f:#mode后面不能指定encoding
data=f.read()
print(data)
data.encoding("utf-8")#对打开的bytes用指定格式打开注意文件后缀是TXT
with open('1.png',mode='rb') as f:
data=f.read()
copy:
方式一:文件太大时会占用太多内存
with open('1.png',mode='rb') as f:
data=f.read()
with open('c.txt',mode='wb') as f:
f.write(data)
方式二:一行一行的copy过去
with open("1.png",mode="rb") as f,open('c.txt',mode='wb') as e:
for line in f:
e.write(line)