有人问,在Python文件的行首会写上#!/usr/bin/Python3这样的语句,这有什么用?

这个问题可能不少初学者也会遇到,实际上它的作用是用来指定Python的解释器,并用只能应用于LinuxMAC等系统中,Windows系统会忽略这个注释(集体鄙视Windows的感觉)。也就是说,如果这个Python文件在系统是具有可执行权限的,那么可以直接用./XXX.py的方式来执行,系统会自动地根据这个绝对路径下调用python3程序对其进行解释执行。所以它实际上是指示了在当前系统中python3命令的路径,如果你不写或者是写错了,那么系统会给出找不到解释器的错误。

但是这里会有一个问题,就是有时会不清楚解释器的具体全路径,或者说开发者的环境与最终使用者的安装路径不一样,就比较麻烦了。所以很多的时候,其实我们会用另一种方式,即·#!/usr/bin/env python3`,这里作用就是让env去查找python3的绝对路径替换作为解释器路径。

举个例子,假设我们创建一个temp.py的文件,内容如下:

#!/usr/bin/env python3
for i in range(10):
print("Iteration:",i)

保存后,执行以 下命令:

chmod +x temp.py #增加执行权限
./temp.py #运行脚本

你会发现程序会自动运行出结果,和我们使用python3 temp.py效果是一样的。