每个Python脚本前面都有’#!/ usr / bin / python’吗?

Is '#!/usr/bin/python' in front of every Python script a must?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Why do people write #!/usr/bin/env python on the first line of a Python script?
What does the line “#!/bin/sh” mean in a UNIX shell script?

这是一个注释,应该被解释器忽略。为什么是啊!/usr/bin/python几乎还在每个程序中?


如果脚本是可执行的,操作系统将使用第一行来知道要运行哪个解释器来解析文件的其余部分以执行一些操作。

如果您总是从命令行运行这些类型的脚本,比如python foo.py,那么您可以删除第一行。


实际上不是。在类Unix操作系统中,传统的做法是使用第一行中给出的解释器路径,并使用该解释器的路径来解释程序的其余部分。它被称为shebang线。如果您不在类Unix系统(Linux)上,您就不会关心它。Mac OS、Freebsd等),但在Python社区也有尝试在Windows上使用类似的shebang行。


阅读维基百科的文章《舍邦》。还请记住,在*nix世界之外,第一个shebang前缀行被视为注释。