从终端运行不带 .py 扩展名的 python 脚本

从终端运行不带 .py 扩展名的 python 脚本

我想调用一个python脚本脚本.py只需从终端输入脚本。这可能吗?如果是这样,怎么办?

我知道我可以避免打字蟒蛇脚本.py通过增加#!/usr/bin/env python到脚本的顶部,但我仍然需要添加后缀.py为了运行脚本。

答案1

Unix/Linux 文件系统不像 Windows 那样依赖扩展。您不需要.py在文件末尾添加 来运行它。

您可以通过使用解释器调用该文件来运行该文件:

python ScriptFile

或者将其标记为可执行并在第一行定义解释器(例如#!/usr/bin/python)。

如果您无法使用以下命令执行该文件:

/Path/to/ScriptFile

检查权限

ls -l ScriptFile

您可能需要添加可执行标志,chmod以便它能为您执行。

如果您经常使用自定义脚本,您可能需要确保存储它们的目录已添加到PATH环境变量中。

答案2

.py运行脚本不需要扩展名。您只需使脚本可执行(例如通过运行chmod a+x script)并添加 shebang 行 ( #!/usr/bin/env python)。

答案3

作为一个选项,您可以为脚本(文件.py)创建包装器:

例如,您有一个脚本,runme.py因此您可以创建新文件runme来包装该脚本:

#!/usr/bin/env python
import runme

然后runme.py只需runme在 shell 中调用即可调用该功能。

这对于多平台脚本很有用,因为在 Windows 平台上,您可以.py仅通过名称指定要调用的文件,而无需扩展名舍邦在标头中,但在 Linux 平台上你不能,因此包装器出现了。

相关内容