python文件开头含义
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言常见到python文件开头两行都会写如下两行代码。本文解释这两行代码的含义,以及在pycharm中自动生成这两行的方法。#!/usr/bin/env python# -*- coding:utf-8 -*-#!/usr/bin/python# -*- cod
概要
常见到python文件开头两行都会写如下两行代码。本文解释这两行代码的含义。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
或者
#!/usr/bin/python
# -*- coding:utf-8 -*-
一、#!/usr/bin/env python 与 #!/usr/bin/python 的区别
1. Linux系统:
Linux系统,根据文件开头(首行)的标记来判断文件类型,通过文件所指定的程序来运行。#!/usr/bin/python
是告诉操作系统调用/usr/bin下的python解释器来执行这个脚本。例如,我们编写了hello.py脚本,执行时需要输入命令:python hello.py。因为有了这行声明,就可以直接用./hellp.py 来执行了。#!/usr/bin/env python
是为了防止没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到环境变量设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作,推荐这种写法。
2. Windows系统
Windows系统用文件名的后缀(扩展名)来判断文件类型,只要是.py后缀的就关联到python程序去执行。因此,#!/usr/bin/python
或#!/usr/bin/env python
在Window系统下相当于普通的注释,并没有意义。
二、# -- coding:utf-8 --
1. 作用:
在Linux下指定文件的编码方式,用于支持中文。
* python2需要在首行写-*- coding:utf-8 -*-
才能支持中文,python3开始默认支持中文了,就可以省去这行注释。python2中,不声明,默认ASCII码编码;python3中,不声明,默认Unicode编码。
如果是在windows的Python3下运行你的程序,你完全可以不去写前两行注释的,但是出于好习惯,也为了方便跨平台以及兼容,写一写还是好的。
2. 写法:
常用的看到过以下三种写法
#coding=utf-8
#coding:utf-8
#-*- coding:utf-8 -*-
其实这三种都可以,只要符合以下正则表达式:"^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)"
这三种中经常使用的是#-*- coding:utf-8 -*-
,这是因为Emacs等编辑器使用这种方式进行编码声明。这样写可以支持多种编辑器,移植性好。
References:
https://www.python.org/dev/peps/pep-0263/
https://blog.csdn.net/qq_36512295/article/details/89057856
更多推荐
所有评论(0)