python运行显示编码错误

Posted 哦摩西罗伊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python运行显示编码错误相关的知识,希望对你有一定的参考价值。

python中运行显示编码错误一般有2种原因:

编码与译码的方式不一致

在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:

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)

 

以上是关于python运行显示编码错误的主要内容,如果未能解决你的问题,请参考以下文章

python 用requests获取网页源代码为啥中文显示错误

ListView 未显示在片段中

cmd显示编码gbk不可映射字符

python3读文件编码错误怎么办

为啥代码片段在 matplotlib 2.0.2 上运行良好,但在 matplotlib 2.1.0 上引发错误

在 Python 多处理进程中运行较慢的 OpenCV 代码片段