美文网首页
关于Python脚本开头两行的:#!/usr/bin/env p

关于Python脚本开头两行的:#!/usr/bin/env p

作者: 疯人愿的疯言疯语 | 来源:发表于2018-09-24 10:18 被阅读0次

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=<encoding name>
or (using formats recognized by popular editors):

#!/usr/bin/python
# -*- coding: <encoding name> -*-
or:

#!/usr/bin/python
# vim: set fileencoding=<encoding name> :
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脚本开头两行的:#!/usr/bin/env p

      本文链接:https://www.haomeiwen.com/subject/ryrqoftx.html