关于Python脚本开头两行的(#!/usr/bin/python和#|关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用)

#!/usr/bin/python 是用来说明脚本语言是python的
是要用/usr/bin下面的程序(工具)python,这个解释器,来解释python脚本,来运行python脚本的。
# -- coding: utf-8 --** 是用来指定文件编码为utf-8的
详情可以参考:
PEP 0263 — Defining Python Source Code Encodings
此建议就是:
允许在Python文件中,通过文件开始处的,放在注释中的,字符串形式的,声明,声明自己的python文件,用何种编码。
由此,需要很多地方做相应的改动,尤其是Python文件的解析器,可以识别此种文件编码声明。
具体如何声明python文件编码? 上面已经说了,是,文件开始处的,放在注释中的,字符串形式的,声明。
那具体如何声明,以什么样的格式去声明呢?
其实就是,你之前就见过的,这种:

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

对此格式的详细解释是:
1.如果没有此文件编码类型的声明,则python默认以ASCII编码去处理
1.1如果你没声明编码,但是文件中又包含非ASCII编码的字符的话,python解析器去解析的python文件,自然就会报错了。
2.必须放在python文件的第一行或第二行
3.支持的格式,可以有三种:
3.1带等于号的:
最常见的,带冒号的标准格式(大多数编辑器都可以正确识别的)
#!/usr/bin/python# -*- coding: -*-

合法的python文件编码声明
#!/usr/bin/python# -*- coding: utf-8 -*-import os, sys

摘自廖雪峰的标准式开头
#!/usr/bin/env python3 # -*- coding: utf-8 -*-' a test module '__author__ = 'Michael Liao'

第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码;
第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;
第6行使用author变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名;
以上就是Python模块的标准文件模板,当然也可以全部删掉不写,但是,按标准办事肯定没错。
【关于Python脚本开头两行的(#!/usr/bin/python和#|关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用)】后面开始就是真正的代码部分。

    推荐阅读