关于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它是用来指定用什么解释器运行脚本以及解释器所在的位置。也就是说你...
·
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风格的文件编码注释
更多推荐
已为社区贡献4条内容
所有评论(0)