如何使用" ./"在终端而不是" python"?

时间:2016-02-25 05:34:20

标签: python

对我而言,我必须说" python my_file_here.py"运行一些东西。它如何使我能输入" ./ my_file_here.py"?

谢谢, Kwow

1 个答案:

答案 0 :(得分:0)

你正在寻找的是一个被称为" shebang"线。它告诉您的系统使用什么来执行文件。

通常,它们是模块中的第一行,它们看起来像这样:

#!/usr/bin/python

但是,您需要知道您的python可执行文件在您的系统中的位置,如果您与其他人共享此文件,则可能会出现问题(他们的python可能与您的python不同。

在Linux系统上执行类似以下操作的常见方法,这将遵循激活的虚拟环境:

#!/usr/bin/env python

最后,您还需要确保您的文件本身是可执行文件,因为您无法将其作为脚本运行,除非它已被标记为" executable"。

您可以通过运行以下内容并检查权限(查找x)来检查:

ls -l YOURPYTHONMODULE.py

通常,您会看到三组权限(所有权限一起运行),这些权限对应于" read" (r),"写" (w)和"执行" (x)用于三种不同类型的用户:文件的所有者,文件所属的组以及其他所有用户。这是一个例子:

-rwxr-xr-x  1 YOURNAME  staff  443 Feb 15 20:44 YOURPYTHONMODULE.py

要使用户可以执行文件,请执行以下操作:

chmod u+x YOURPYTHONMODULE.py

添加shebang行并将您的文件标记为可执行文件后,您应该可以执行以下操作:

./YOURPYTHONMODULE.py