想在python代码中输出汉字。但是老是出现SyntaxError: Non-ASCII character '\xe4' in file test.py on line , but no encoding declared。 (test.py是我自己的文件,提示错误出现在第4行, 你的文件也会得到相应的提示)。 一个简单的示例test.py代码如下:
1
2
3
|
1
#!/usr/bin/python
2
3
print
"你好吗"
|
在终端下执行python test.py指令之后,
1
2
|
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
2
3
|
#!/usr/bin/python
#coding:utf-8
print
"你好吗"
|
第二种:
1
2
3
|
#!/usr/bin/python
#-*-coding:utf-8 -*-
print
"你好吗"
|
第三种:
1
2
3
|
#!/usr/bin/python
#vim: set fileencoding:utf-8
print
"你好吗"
|
***特别注意:定义编码格式的这一行代码必须放在第一行或者第二行, 一般如果第一行是提示python位置的代码, 那么定义编码格式的这一行就必须放在第二行,否则依然会提示错误。
本文转自灬落魄灬 51CTO博客,原文链接:http://blog.51cto.com/smoke520/1911242,如需转载请自行联系原作者