通过 2进制模式 读出来的数据就是 bytes 字节类型,到时候写进去的也得是 bytes 字节类型:
2进制模式 - 创建
f = open(‘test.txt’, ‘wb’)
f.write(‘xyq’.encode())
f.close()
二、基本操作(创建、读取、追加)
创建模式
f = open(‘test.txt’, ‘w’)
写入
f.write(‘a\n’)
f.write(‘b\n’)
f.write(‘c\n’)
保存并关闭
f.close()
现在的 f 是创建模式,读取会报错
f.read()
只读模式(默认模式)
f = open(‘test.txt’, ‘r’)
读取全部内容
print(f.read()) # a b c
读取一行内容
print(f.readline()) # a
读取所有行内容(数组)
print(f.readlines()) # [‘a\n’, ‘b\n’, ‘c\n’]
现在的 f 是只读模式,写入会报错
f.write(‘d\n’)
只读模式(默认模式)
f = open(‘test.txt’, ‘r’)
读取一行内容
print(f.readline()) # a
读取剩下的全部内容
print(f.read()) # b c
之所以会输出为这样,可以理解为读取内容的时候有个光标,读了第一行之后,光标到第二行了,在继续读只会从第二行开始。
只读模式(默认模式)文件编码格式指定
f = open(‘test.txt’, ‘r’, encoding=‘gbk’)
读取全部内容
print(f.read()) # 中国
追加模式
f = open(‘test.txt’, ‘a’)
追加
f.write(‘d\n’)
保存并关闭
f.close()
在追加模式下,也只能追加,不能读,不然也会报错。
















