机器不是永动机,它也会出错,也会药停下来歇歇。相对的一条代码也不是那么的永远可靠,可能在运行中出现很多不可预知的错误,所以今天我们就来了解一下Python编码错误。
python中运行显示编码错误一般有2种原因:
编码与译码的方式不一致
在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:
SyntaxError:Non-ASCIIcharacter'\xe5'infile*******
【原因】
Python解释器的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符。
【解决办法】
在Python源文件的最开始一行,加入一句:
#coding=UTF-8(等号换为”:“也可以)
注意:等号左右两边没有空格
补充:
.py文件的编码方式由编辑器决定,而在中文环境下,编辑器的编码方式一般是utf-8,python解释器在译码时,译码方式为要与源文件的编码方式一致。
存在部分字符无法译码的情况
编码与译码的方式是一致的,但是部分字符无法译码。
读取中文txt文件时,经常会出现:‘gbk'codeccan'tdecodebytesinposition31023:illegalmultibytesequence。
这种情况就是文本里含有gbk编码方式中没有的字符。
最好的解决办法:
使用gb18030编码方式,因为gb18030编码方式包含gbk,支持的字符数更多,并且加入'ignore'忽略无法读取的字符。
例如;
补充
python2中的文件路径不要有中文,会出现一些奇特的bug,但是python3中就没有这种情况。
python学习资料 免费领取