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

Python脚本开头都有下面的两行,*而且一定在前两行*

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

或者

#!/usr/bin/python 
# -*- coding:utf-8 -*-

1.#!/usr/bin/env python 或 #!/usr/bin/python

它是用来指定用什么解释器运行脚本以及解释器所在的位置。也就是说你得告诉系统你用什么解释器来运行这个脚本。
有时候写 #!/usr/bin/python 不行,因为系统用户没有把python解释器没有装在/usr/bin/目录,所以改成其所在目录就行了,或者使用更通用的方法是:#!/usr/bin/env python

2. # -- coding:utf-8 --

这是用来指定文件编码为utf-8的,默认的编码格式是ASCII码
可以参考PEP 263 – Defining Python Source Code Encodings
说到的大概重点就是下面这段:

Python will default to ASCII as standard encoding if no other encoding hints are given.

To define a source code encoding, a magic comment must be placed into the source files either as first or second line in the file, such as:

# coding=
or (using formats recognized by popular editors):

#!/usr/bin/python
# -*- coding:  -*-
or:

#!/usr/bin/python
# vim: set fileencoding= :
More precisely, the first or second line must match the following regular expression:

^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

归纳起来一般可以写为:
# coding=utf-8
# coding:utf-8
# -*- coding=utf-8 -*- 用解释器二进制和使用Emacs风格的文件编码注释

你可能感兴趣的:(python)