Python - 如果没有#!/ usr / bin / python,代码就无法运行

时间:2016-02-10 07:33:09

标签: python shell

好的我是Python的新手,但如果行

我的代码不会运行
#!/usr/bin/python

不存在于文件的开头。这是为什么 ?这是什么意思 ?如果安装了多个版本,我认为它用于表示python版本。

#!/usr/bin/python
def main():
    a = [1,2,3]

    print a

if __name__ == "__main__":
  main()

省略#!/ usr / bin / python会出现以下错误仅当我使用

执行它时 Ubuntu上的

./test.py

但是,如果我使用python命令运行,那么它在没有/usr/bin行的情况下运行良好。

3 个答案:

答案 0 :(得分:5)

#!开头的脚本的第一行是shebang(有时称为哈希爆炸)。

以下可执行路径表示应使用哪个解释器来处理以下代码(在您的情况下为/usr/bin/python)。

如果您使用python test.py从shell运行脚本,则不需要shebang - 可执行文件为python,并将脚本作为参数传递给它。

答案 1 :(得分:1)

在Unix中,如果文件包含脚本语言(在您的情况下是Python),您可以告诉文件应该如何打开它。

此行称为Shebang

答案 2 :(得分:0)

./filename用于运行可执行文件,要执行它,您需要指定所需的应用程序。 然而,在使用python filename.py时,您已经指定了要使用的应用程序,在这种情况下是python。