报错信息:
Traceback (most recent call last):
File "XXX.py", line 101, in <module>
UnicodeDecodeError: 'gbk' codec can't decode byte 0xd0 in position 3041: illegal multibyte sequence
这里是Python在读写文件时,碰到了当前编码无法解决的字符。
以下是解决方案:
第一种,设置编码方案
gbk也可以根据具体情况更换成utf-8
open(‘file.txt’,encoding=’gbk’);
这个方法是使用gbk去编码文件。
第二种,夸大编码范围
open(‘file.txt’,encoding=’gb18030’);
这个gb18030的编码范围要比gbk还要大,所以当方案一不行的时候有可能是因为文件中的某些字符无法使用当前的gbk编码。
第三种,忽视错误
如果使用了gb18030不行的话,可能某些字符有问题。可以尝试忽略。
open(‘file.txt’,encoding=’gb18030’,errors=‘ignore’);
网友评论