想在python代码中输出汉字。但是老是出现SyntaxError: Non-ASCII character '\xe4' in filetest.pyonline, but no encoding declared。(test.py是我自己的文件,提示错误出现在第4行,你的文件也会得到相应的提示)。一个简单的示例test.py代码如下:
1 #!/usr/bin/python 2 3 print "你好吗"
在终端下执行python test.py指令之后,
File "test.py", line 3
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
这是python编码的问题, python中默认的编码格式是ASCII格式, 所以在没修改编码格式时无法正确打印汉字。
解决办法: 在以后的每一个需要显示汉字的python文件中, 可以采用如下方法在#!/usr/bin/python的下一行加上一句话来定义编码格式, 我以utf-8编码为例。
第一种:
1 #!/usr/bin/python 2 #coding:utf-8 3 print "你好吗"
第二种:
1 #!/usr/bin/python 2 #-*-coding:utf-8 -*- 3 print "你好吗"
第三种:
1 #!/usr/bin/python 2 #vim: set fileencoding:utf-8 3 print "你好吗"
***特别注意:定义编码格式的这一行代码必须放在第一行或者第二行, 一般如果第一行是提示python位置的代码, 那么定义编码格式的这一行就必须放在第二行,否则依然会提示错误。
想了解多细节请阅读:http://www.python.org/dev/peps/pep-0263/
优质内容筛选与推荐>>1、Mono3.0.2基于双工通信的WCF应用Demo
2、【分类战车SVM】第五话:核函数(哦,这实在太神奇了!)
3、被巨头盯上,重在抉择
4、这有“三高一快零故障”网络架构实践,还有掉坑逃生指南
5、Java中,权限修饰符的权限测试