#打开文件 open
#参数encoding指定文件编码
fobj=open(’./Test.txt’,‘w’,encoding=‘utf-8’)#参数’w’如果没有这个文件就创建一个
# ,如果存在就覆盖
#开始读写操作
fobj.write(‘羌笛何须怨杨柳,’)#写入操作
fobj.write(‘春风不度玉门关。’)
fobj.close()#关闭这个对象
#以二进制的形式去写数据
fobj=open(‘Test.txt’,‘wb’)#str–>bytes
fobj.write(‘羌笛何须怨杨柳,’.encode(‘utf-8’))
fobj.close()
#追加
fobj=open(‘Test.txt’,‘a’)#用于追加数据
fobj.write(‘羌笛何须怨杨柳\r\n’)
fobj.write(‘春风不度玉门关\r\n’)
fobj.close()
#二进制追加
fobj=open(‘Test.txt’,‘ab’)#用ab追加数据
fobj.write(‘羌笛何须怨杨柳\r\n’.encode(‘utf-8’))
fobj.write(‘春风不度玉门关\r\n’.encode(‘utf-8’))
fobj.close()
#读取数据
f=open(‘Test.txt’,‘r’)
f=open(‘Test.txt’,‘rb’)#按照二进制的方式读取
data=f.read()
print(data)
print(data.decode(‘gbk’))#解码
print(f.read()) #读取所以数据
print(f.read(10)) #读取10个字符
print(f.readline()) #读取一行数据
print(f.readlines()) #按行读取
f.close() #关闭这个文件对象
#with上下文管理 自动释放打开关联对象
#添加
with open(’…/属性/Test.txt’, ‘r’)as f:
print(f.read())
pass
#读取
with open(’…/属性/Test.txt’, ‘a’)as f:
f.write(‘aaaaaa’)
pass
#文件读写的几种操作方式
read r r+ rb rb+
#rr+只读 使用普通读取场景
rb rb+ 适用于 文件 图片 视频 音频 这样文件读取
write w w+ wb+ wb a ab
#w wb+ w+ 每次都会去创建文件
#a ab a+ 在原有的文件的基础之后去[文件指针的末尾]去追加,
#并不会每次的都去创建一个新的文件