直接从命令行运行python脚本

时间:2013-12-01 22:36:59

标签: python bash shell shebang env

#!/usr/bin/env python

我把它放在脚本的顶部。我已经看到,应该使脚本可以从命令行运行,而不需要python programname.py。除非我误解,否则我应该可以使用programname.py,只要我在脚本顶部有上面的行。它是否正确?

这对我不起作用我只是收到一个错误,表示我必须在“通话”开始时使用python

3 个答案:

答案 0 :(得分:23)

Python脚本的通用运行

你可以在没有shebang(#!)和

的情况下普遍运行
python myscript.py

或几乎相当(它将当前目录放在您的路径上并执行名为myscript的模块)(最好这样做!)

python -m myscript

从命令行开始,只要你安装了Python并在你的路径环境变量上(即设置为使用python运行,如果安装了,通常就是这种情况)。

Shebangs(#!)是Unix的东西。

当你使用它时,shebang通常用于在Unix平台(通常是Apple或Linux)上运行。 Windows通常需要cygwin才能使用shebang。

您通常可以使用以下命令默认使用系统路径上可用的任何python:

#!/usr/bin/env python

假设您使用的是Unix,可以尝试使用其他位置进行python设置,例如:

#!/usr/bin/python

徘徊

您可以使用unix which命令查看当前正在使用的python,因此如果您想查看python的来源,请使用以下命令:

which python

或在Windows上(cygwin可能会运行shebang):

where python

在Linux / Unix上,你需要执行perms来以这种方式运行文件。使用chmod

chmod +x myscript.py

(chmod也可能适用于Windows中的Cygwin)

如果您没有以root身份运行,则可能需要sudo,那就是

sudo chmod +x myscript.py

然后尝试使用

运行(在同一目录中)
./myscript.py 

答案 1 :(得分:6)

使文件可执行

sudo chmod +x /path/to/file.py

然后从与file.py相同的目录:

./file.py

答案 2 :(得分:1)

您还可以通过以下方式使用webbrowser模块:

python -m webbrowser -t "http://www.python.org"