SyntaxError: Non-ASCII character
如题所示的错误发生在Python代码执行的阶段。
造成该问题的原因是:
Python解释器默认使用ASCII编码组织代码,而ASCII编码所能容纳的字符是有限的,所以如果出现了超出ASCII编码表之外的字符,Python的解释器就无法识别了,故而报错。
这种情况是很常见的,比方说,你在Python代码中非常核突的用了中文字符,如下:
1 2 3 |
__author__ = 'adamhuan' print "Hello world, PyCharm." print "你好,世界." |
这样的代码,运行时你会看到如题的错误,具体如下:
1 2 3 4 5 |
C:\Python27\python.exe C:/Users/adamhuan/PycharmProjects/Helloworld/Helloworld.py File "C:/Users/adamhuan/PycharmProjects/Helloworld/Helloworld.py", line 4 SyntaxError: Non-ASCII character '\xe4' in file C:/Users/adamhuan/PycharmProjects/Helloworld/Helloworld.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details Process finished with exit code 1 |
要修正该错误,需要在你的Python代码前声明字符集:
#encoding:utf8
或者:
#-*- encoding:utf8 -*-
即,将上述代码改为如下所示的形式:
1 2 3 4 |
#coding:utf8 __author__ = 'adamhuan' print "Hello world, PyCharm." print "你好,世界." |
这样,再次运行就没问题了:
1 2 3 4 5 |
C:\Python27\python.exe C:/Users/adamhuan/PycharmProjects/Helloworld/Helloworld.py Hello world, PyCharm. 你好,世界. Process finished with exit code 0 |
————————————————
Finished。