关于python前两行代码作用'#!/usr/bin/python'或'#!/usr/bin/env python'和'# coding=utf-8'或'# -*- coding:uft-8 -*-'

  • '#!/usr/bin/python' 或 '#!/usr/bin/env python'

'#!/usr/bin/python'或'#!/usr/bin/env python'作用:指定解释器,增强代码可移植性(多个平台使用linux、unix、mac)

#!/usr/bin/python
#!/usr/bin/env python

1、处在代码首行,用来指定本脚本用什么interperter来执行(主要针对linux系统)

代码中添加了这句,文件再加上执行权限就可以直接用./执行,不然使用./执行会出错,因为找不到python解释器

2、两种写法,建议一般使用  '#!/usr/bin/env python'

'#!/usr/bin/python'是告诉操作系统执行脚本时,去/usr/bin下找python解释器;

'#!/usr/bin/env python'在操作系统执行脚本时,会去env配置里查找python的安装路径,再调用路径下的解释器,避免用户如没有将python装在/usr/bin中出现问题

 

  • '# coding=utf-8'或'# -*- coding:uft-8 -*-'

'# coding=utf-8'或'# -*- coding:uft-8 -*-'的作用:声明python文件使用utf-8编码(不做声明,默认以ASCII编码),解决python2中有中文字符(包括注释掉的中文)会报错

 

# coding=utf-8
# coding:utf-8
# -*- coding:utf-8 -*-

1、必须处在代码的首行或第二行,格式为满足如下正则表达式 即可

^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

上面三种为常见类型,稳的很

2、如果没有此文件编码类型的声明,则 python 默认以ASCII编码去处理;如果你没声明编码,但是文件中又包含非ASCII编码的字符(如中文字符)的话,python解析器去解析的 python 文件,就会报错

3、可以查看官方的解释:http://www.python.org/dev/peps/pep-0263/

大意为 在Python 2.1中,Unicode文字只能用基于Latin-1的编码“unicode-escape”编写,这使得编程环境对在非Latin-1语言环境中的用户非常不友好,例如许多亚洲国家。正确做法是程序员可以使用喜欢的编码来编写他们的8位字符串。

解决措施就是:允许在Python文件中处于文件一二行的放在注释中的,字符串形式的声明,声明自己的python文件,用何种编码

收工收工(有不对的欢迎指正)!

你可能感兴趣的:(python自动化)