python运行显示编码错误
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运行显示编码错误的更多相关文章
- PyCharm运行报编码错误
运行报如下错误: SyntaxError: Non-ASCII character '\xe8' in file /home/ubuntu/code/201803091253-text.py on l ...
- 关于python爬虫的编码错误
现在才发现很多错误只有自己一点点的去尝试才能发现.不管之前别人怎么和你说,总是不可能面面俱到,所以提升自己的方法就是亲手实践,自己一点点的去发现问题,并一个个的解决.慢慢享受其中无言的快感. 今天就发 ...
- python项目在windows下运行出现编码错误的解法
在启动文件里面加入 import sysreload(sys) sys.setdefaultencoding('GB2312') 这样在windows下调试运行神马的,就不会报错了. 当然发布时,建议 ...
- Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...
- Python Flask UnicodeDecodeError 编码错误解决
折腾Python做快速Web开发.最后定下来用Flask,相对教程全面. utf8编码上遇到问题,所有文件已经是utf8编码保存,加载css.js等静态文件,如果用GBK编码就正常:用utf8就报Un ...
- Python运行Google App Engineer时出现的UnicodeDecodeError错误解决方案
#Python运行Google App Engineer时出现的UnicodeDecodeError错误解决方案 ##问题描述 使用Python2.7.x运行GAE时有时会报这个错误 ```py ...
- Python默认编码错误SyntaxError: Non-ASCII character '\xe5'之解决方法
在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* 解决方法: py ...
- Python 编码错误的本质原因
转载自:https://foofish.net/python-unicode-error.html 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久的新贵,你一定遇到过Uni ...
- python编码错误的解决办法 SyntaxError: Non-ASCII character '\xe5' in file
[提出问题]. 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII character '\xe5' in file ******* ...
随机推荐
- thymeleaf传值onclick到js
带有单引号 targetUrl('val') <a th:onclick="'javascript:targetUrl(\''+${indexURL.value}+'\');'&quo ...
- node学习笔记9——cookie,session相关操作
下面讲的都是基Express及相关的包.所以在实践本篇文章之前,通过npm安装好Express, cookie-parser, cookie-session这三个安装包. 先简单说一下,如何用Expr ...
- freetds设置超时
freetds的超时一般在其配置文件中有设置,实际上程序中也可以设置,动用两个api dbsetlogintime dbsettime 设置在dbopen之前,如下所示: 表示设置登录超时5秒,读写超 ...
- Python装饰器、metaclass、abc模块学习笔记
(博客原创作品,转载请注明出处!) 最近接触到了Python中的decorator,metaclass,abc Module,six.add_metaclass等内容,这里做一个简单的笔记. 主要资源 ...
- QStandardItemModel角色控制及QTreeView添加不同的右键菜单
http://blog.csdn.net/czyt1988/article/details/26018513
- Linux 查看操作系统版本
在下载软件的时候,需要知道操作系统对应的版本,通过 cat /etc/issue 可以查看对应信息 运行的结果如下: CentOS release 6.7 (Final) Kernel \r on a ...
- alter system set events相关知识
格式:alter system|session set events ‘[eventnumber|immediate] trace name eventname [forever] [, level ...
- ASM实例原始磁盘搜索路径
discovery diskstring==>ASM实例原始磁盘搜索路径,一般搜索/dev/raw/ /dev/oracleasm/ 初始化参数文件中为:asm_diskstring asmc ...
- DbHelper.ttinclude 更新,查询视图和表
<#+ public class DbHelper { #region GetDbTables public static List<DbTable> GetDbTables(str ...
- 轻松利用WayOs修正版配合推广EasyRadius用户微信公众自助平台
各大平台争相推出微信公共平台服务,EasyRadius也不会OUT!!! EasyRadius已推出微信公共平台自助服务,用户只需要把公众平台设置为开发者模式,并设置专用的地址,就可以实现旗下宽带用户 ...