python_文件读写
读取文件
''' 文件读取和写入的过程 磁盘保存,或者网络传输 都是需要指定编码的字节串,比如utf-8 ,gbk,AscII 对应 使用encode 将字符串编码成二进制字节 程序运行读取的时候,需要按指定的编码解码成unicode 字符串的形式才能正常运行,对应decode 将二进制字节转换成我们常见的字符串形式 读取:utf-8=>unicode 写入:unicode=>utf-8 ''' # 按gbk的编码格读取文件 with open('gbk1.txt','r',encoding='gbk') as f1: print(f1.read()) #如果不指定编码格式,在windows中encoding 默认是 gbk,linux 和macos中 默认是utf-8 with open('gbk1.txt','r') as f2: print(f2.read()) # 按utf-8的编码格式读取,由于目标文本编码格式为gbk,故无法按utf-8的方式进行解码
# 报错UnicodeDecodeError 'utf-8'
# codec can't decode byte 0xd3 in position 2: invalid continuation byte
with open('gbk1.txt','r',encoding='utf-8') as f3: print(f3.read())
特别注意:
python默认的编码方式为utf-8,但是在不同系统平台的默认编码方式存在不同
在windows中encoding 默认是 gbk,linux 和macos中 默认是utf-8
注意读取文件时的编码方式,如果要跨平台运行,在读取的时候推荐设置上指定的编码方式
文件写入:
# 按gbk的编码格式写入到文件 with open('gbk.txt','w',encoding='gbk') as f: f.write('写入是gbk编码') # 写入之后进行读取 with open('gbk.txt','r') as f: print(f.read())

浙公网安备 33010602011771号