2018.09.20python学习第八天

"""
文件的操作模式:

一:文件的打开模式:
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("添加的内容 ")
f.write("添加的内容 ")#在文件没有关闭的情况下一定是后写的跟在前写的后面
f.write("添加的内容 ")

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 ' %(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)
原文地址:https://www.cnblogs.com/hello-yuanjing/p/9681235.html