python中运行显示编码错误一般有2种原因:
编码与译码的方式不一致
SyntaxError: Non-ASCII character '\xe5' in file *******
【原因】
python解释器的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符。
【解决办法】
在Python源文件的最开始一行,加入一句:
# coding=UTF-8(等号换为”:“也可以)
注意:等号左右两边没有空格
补充:
.py文件的编码方式由编辑器决定,而在中文环境下,编辑器的编码方式一般是utf-8,python解释器在译码时,译码方式为要与源文件的编码方式一致。
具体可参考官方文档:https://www.python.org/dev/peps/pep-0263/
存在部分字符无法译码的情况
编码与译码的方式是一致的,但是部分字符无法译码。
读取中文txt文件时,经常会出现: ‘gbk' codec can't decode bytes in position 31023: illegal multibyte sequence。
这种情况就是文本里含有gbk编码方式中没有的字符。
最好的解决办法:
使用gb18030编码方式,因为gb18030编码方式包含gbk,支持的字符数更多,并且加入'ignore'忽略无法读取的字符。
例如;
open('../hlp_stop_words.txt', encoding='gb18030', errors='ignore')
补充
python2中的文件路径不要有中文,会出现一些奇特的bug,但是python3中就没有这种情况。
本文详细解析了Python中出现编码错误的原因及其解决方案,包括如何设置正确的文件编码格式来避免语法错误,以及处理特殊字符无法解码的问题。

994

被折叠的 条评论
为什么被折叠?



