SyntaxError: Non-UTF-8 code starting with '\xe3' in file xxx.py

编写Python经常碰到的一个问题:

SyntaxError: Non-UTF-8 code starting with 'xe3' in file xxx.py on line 31, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

意思是:出现非UTF-8代码,但是并没有声明其为什么编码类型。此问题常常是由于Python文件中出现中文字符引起的。

解决方式是,在Python代码文件的第一行添加:

# -*- coding: utf-8 -*-

问题分析

此问题非常诡异,即便Python3文件中出现中文字符,有的时候会出现,而有的时候不会出现,具体细节待考证...

有谁对此问题进行了仔细研究,请留言告知一下。不胜感激!