最近敲python 遇到了下面这个错误:
SyntaxError: Non-ASCII character '\xe6' in file test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解决办法:
在该.py的文件头部添加: 下列代码,即可!
# -*- coding: utf-8 -*
从#号开始复制, 点击运行,即可解决上述问题。
为啥出现该问题的原因:
一、使用中文字符
在python源码中如果使用了中文字符,运行时会有错误,解决的办法是在源码的开头部分加入字符编码的声明,下面是一个例子:
#!/usr/bin/env python
# -*- coding: cp936 -*-
Python Tutorial中指出,python的源文件可以编码ASCII以外的字符集,最好的做法是在#!行后面用一个特殊的注释行来定义字符集:
# -*- coding: encoding -*-
根据这个声明,Python会尝试将文件中的字符编码转为encoding编码,并且,它尽可能的将指定地编码直接写成Unicode文本。
注意,coding:encoding只是告诉Python文件使用了encoding格式的编码,但是编辑器可能会以自己的方式存储.py文件,因此最后文件保存的时候还需要编码中选指定的ecoding才行。