5.4 文件的三种打开方式
文件操作的基础模式有三种(默认的操作模式为r模式):
r模式为read
w模式为write
a模式为append
文件读写内容的格式有两种(默认的读写内容的模式为b模式):
t模式为text
b模式为bytes
# mode默认r=rt
# r模式 :只读
# encoding='gbk' or 'utf-8':用gbk形式将二进制->汉字
f_r=open(r'5.2 test.txt',mode='r' ,encoding='gbk')
data=f_r.read()
print(data)
f_r.close()
你好w你好a
# w模式
#只写,清空文件加入
f_w=open(r'5.2 test.txt',mode='w' ,encoding='gbk')
data=f_w.write('你好w')
print(data)
f_w.close()
3
# a模式
#在后面追加写入内容
f_a=open(r'5.2 test.txt',mode='a' ,encoding='gbk')
data=f_a.write('你好a')
f_a.close()
# t模式
mode='rt' #打开txt文本类型
f_rt=open(r'5.2 test.txt',mode='rt' ,encoding='gbk')
text_data=f_rt.read()
print(text_data)
f_rt.close()
你好w你好a
# b模式
mode='rb' #打开bytes类型,二进制文件
f_rb=open(r'5.2 test.txt',mode='rb' ) #二进制没有encoding这个参数
bytes_data=f_rb.read()
print(bytes_data)
f_rb.close()
b'\xc4\xe3\xba\xc3w\xc4\xe3\xba\xc3a'
#补充
print('1\\n2') #转义字符'\',下一个字符有意义,\n不换行
#r''
# r表示''内都是普通字符,字符'\n,\t'无意义,都是普通字符,方便正确查找文件路径
print(r'1\n2\t')
# 相当于
print('1\\n2\\t')
# b
#表示字符串为二进制,打印的时候不需要使用终端编码进行处理直接打印即可
print(b"gbnue") #输出形式:b'gbnue',表示gbnue是二进制无需转义
1\n2
1\n2\t
1\n2\t
b'gbnue'
#总结
#t和b不能单独使用,必须和r/w/a一起使用
#r/w/a 能单独使用