Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别

Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别

 

如果我们用普通运行模式例如(linux) : python *.py 那么这个语句在此运行模式下无效。如果想让python程序像普通程序一样运行,例如:./*.py (文件要有可执行权限chmod a+x *.py),这个语句就起作用了,他用来为脚本语言指定解释器,通常认为用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因为 python 解释器的路径不一定就是/usr/bin/python

解释:

#!/usr/bin/env python
这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。
#!/usr/bin/python
表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。这样写程序的可移植性就差了,如果此路径下python命令不存在就会报错。

所以一般情况还是用第一种写法。
原文地址:https://www.cnblogs.com/saolv/p/7997844.html