Python 文件头


我们常见到python文件的前两行都会写上如下两行代码, 下面分别解释这两条语句的意义,并介绍pycharm中自动生成py文件头部信息的方法。
```
#!/usr/bin/env python
# -*- coding:utf-8 -*-
```

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

一、#!/usr/bin/python 和 #!/usr/bin/env python
Linux系统下:
Linux系统,根据文件开头(首行)的标记来判断文件类型,通过文件所指定的程序来运行。

#!/usr/bin/python是告诉操作系统调用/usr/bin下的python解释器来执行这个脚本。例如,我们编写了hello.py脚本,执行时需要输入命令:python hello.py。因为有了这行声明,就可以直接用./hellp.py 来执行了,在这之前需要给脚本设置可执行权限chmod +x hello.py。

#!/usr/bin/env python是为了防止没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作,推荐这种写法。

Windows系统下:
Windows系统用文件名的后缀(扩展名)来判断文件类型,只要是.py后缀的就关联到python程序去执行。因此,#!/usr/bin/python或#!/usr/bin/env python在Window系统下相当于普通的注释,并没有意义。

二、# -*- coding:utf-8 -*-
2.x版本的py文件一般默认的是ASCII码,如果文件里有中文,运行时会出现乱码,注释是中文也不行。因此,需要把文件编码类型改为utf-8的类型,输入# -*- coding:utf-8 -*-之后会把文件编码强制转换为utf-8。

3.x版本的py文件的默认编码为Unicode,也就是说不用进行编码声明,可以直接使用中文了。

posted @ 2021-05-17 22:56  零纪年  阅读(434)  评论(0编辑  收藏  举报