1 #!/usr/bin/env python
2 #-*- coding: utf-8 -*-
上面两行代码在很多Python程序都很常见,为什么要加这两行代码呢?
第一行的作用:
在windows上,第一行有没有都不会造成影响(Windows更具扩展名来判断文件类型),Linux上执行文件时是 ./test.py 的形式,所以需要加上解释器的路径信息,告知用何种方式执行这个文件。
这种是为了防止用户并不是将python装在默认的/usr/bin路径里,当系统看到这行代码时,会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
第一行代码的其他形式有
1 #!/usr/bin/python
如果用户没有把python解释器没有装在/usr/bin/目录,就会出错,就要改成其所在目录。
第二行的作用:
指定编码形式为utf-8,让解释器以这种编码形式读取源代码。因为Python2默认使用的是ASCII,所以并不支持中文,使用中文会报错。
而在python3已经默认使用了utf-8的编码形式,所以第二行对python3来说是忽略的,有没有都一样。
综上所述
为了跨平台和兼容Python2的编码形式,我们一般都要在文件的开头加上这两行代码。
在Pycharm里创建模板:
1 #!/usr/bin/env python
2 #-*- coding: utf-8 -*-
上面两行代码在很多Python程序都很常见,为什么要加这两行代码呢?
第一行的作用:
在windows上,第一行有没有都不会造成影响(Windows更具扩展名来判断文件类型),Linux上执行文件时是 ./test.py 的形式,所以需要加上解释器的路径信息,告知用何种方式执行这个文件。
这种是为了防止用户并不是将python装在默认的/usr/bin路径里,当系统看到这行代码时,会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
第一行代码的其他形式有
1 #!/usr/bin/python
如果用户没有把python解释器没有装在/usr/bin/目录,就会出错,就要改成其所在目录。
第二行的作用:
指定编码形式为utf-8,让解释器以这种编码形式读取源代码。因为Python2默认使用的是ASCII,所以并不支持中文,使用中文会报错。
而在python3已经默认使用了utf-8的编码形式,所以第二行对python3来说是忽略的,有没有都一样。
综上所述
为了跨平台和兼容Python2的编码形式,我们一般都要在文件的开头加上这两行代码。
在Pycharm里创建模板:
文件--设置--编辑器--文件和代码模板,然后选择Python Scripts,在右边输入上面两行代码,再点确认就可以了。以后在Pycharm中新建Python文件时就会自动加上这两行代码。
修改编码方式:
Pycham主界面右下角(如果已经有第二行注释了,那么这将不能选择其他编码形式)