缘起:
[root@CentOS7 code]# python multi_thread_mfw.py
File "multi_thread_mfw.py", line 138
SyntaxError: Non-ASCII character '\xe5' in file multi_thread_mfw.py on line 138, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
写完python代码运行时,报类似SyntaxError: Non-ASCII character ‘\xe5’ in file *.py,
基本可以断定,python文件开头未设置coding=utf-8。
#!/usr/bin/python
# coding=utf-8
# TODO: anything
或者:
#!/usr/bin/python
# -*- coding:utf-8 -*-
# TODO: anything
vim语法
vim中对python语法高亮,正则匹配规则:
\%^.*\n.∗\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$
相关参考
PEP-0263 关于的编码声明的解释
http://www.python.org/dev/peps/pep-0263/