我在Python文件的顶部看到了这些:

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

在我看来,没有这一行,文件运行是一样的。


当前回答

技术上讲,在Python中,这只是一个注释行。

这一行只在从shell(从命令行)运行py脚本时使用。这就是所谓的“Shebang!”,它被用于各种情况,而不仅仅是Python脚本。

在这里,它指示shell启动特定版本的Python(以处理文件的其余部分)。

其他回答

行#!/bin/bash/python3或#!/bin/bash/python指定要使用的python编译器。你可能安装了多个python版本。例如, a.py:

#!/bin/bash/python3
print("Hello World")

是python3脚本,和 b.py:

#!/bin/bash/python
print "Hello World"

是一条巨蟒。x脚本 为了运行这个文件。/a.py或。/b.py,你需要预先赋予文件执行权限,否则执行会导致Permission denied错误。 给予执行许可,

chmod +x a.py

它告诉解释器,当你有多个版本的python时,使用哪个版本的python运行程序。

这样做的主要原因是使脚本可跨操作系统环境移植。

例如,在mingw下,python脚本使用:

#!/c/python3k/python 

在GNU/Linux发行版下,它是:

#!/usr/local/bin/python 

or

#!/usr/bin/python

在最好的商业Unix sw/hw系统(OS/X)下,它是:

#!/Applications/MacPython 2.5/python

或在FreeBSD上:

#!/usr/local/bin/python

然而,所有这些差异可以通过使用以下方法使脚本可移植:

#!/usr/bin/env python

这告诉脚本python目录在哪里!

#! /usr/bin/env python

这是推荐的方法,在文档中提出:

2.2.2. 可执行Python脚本 在BSD的Unix系统上,可以直接编写Python脚本 可执行,就像shell脚本一样 # !/usr/bin/env python3.2

从http://docs.python.org/py3k/tutorial/interpreter.html executable-python-scripts