【python】python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2

python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2: illegal multibyte sequence


示例代码:



fileName = 'E:/2/采集数据_pswf12_180大0小35750_20181206.txt'

currentFile = open(fileName)
content = currentFile.read()
print(content)



报错原因:


要打开的文件中,有‘gbk’解析不了的文本内容


那么可能是文件格式并非'gbk'格式的。


解决方法:


1.先设定编码方式打开文件



currentFile = open(fileName,encoding='gbk')



当然,如果上面报错就是'gbk'编码打开文件失败,那你这里还是指定gbk打开文件,是极大可能报错的。


2.切换其他的文件编码方式



currentFile = open(fileName,encoding='utf-8')



一般情况下,切换后是可以解决问题的。


3.如果第二步依旧没有解决,可以选择使用errors='ignore'属性忽略编译不了的问题[如果只是想打开文件的话]



currentFile = open(fileName,encoding='gbk',errors='ignore')



但是这样虽然可以打开文件,极大可能出现读取乱码的问题