如何在shell中运行Python程序而无需输入"python"

6

我是Python的新手。我写了一个程序,可以通过输入python Filecount.py ${argument}来执行。但为什么我看到我的老师只需输入Filecount.py ${argument}就能运行程序呢?如何实现这一点呢?


4
你使用哪个操作系统? - Arjen Dijkstra
2
如果是Windows系统:https://dev59.com/D3I-5IYBdhLWcg3wR2Nr - Asad Saeeduddin
值得注意的是,如果您的教练真的使用的是 Filecount.py 而不是 ./Filecount.py,那么他很可能还将其目录添加到了 PYTHONPATH 中。 - Two-Bit Alchemist
3个回答

11
使其可执行
chmod +x Filecount.py

并在Filecount.py的顶部添加一个hashbang,这告诉操作系统您想使用Python解释器来执行该文件。

#!/usr/bin/env python

然后像这样运行它
./Filecount.py args

4
/usr/bin/env被认为优于/bin/python。在我的系统上甚至没有一个适当的/bin目录(这将通过符号链接解析)。此外,在某些基于Arch的发行版中,这将解析为Python 3,而不是Python 2,而我认为/usr/bin/env样式可以按预期解析。 - Two-Bit Alchemist

2

在基于Linux的操作系统中,您必须包含一行代码(即脚本的第一行)如下:

#!/usr/bin/python

这告诉操作系统在该位置寻找你的Python解释器,适用于任何脚本。

记得要在你的脚本文件中设置权限(即可执行),才能使其起作用。


正如我在安德烈的回答中指出的那样,首选的 shebang 行是 /usr/bin/env python 或等效的行,而不是指定您认为 Python 存在于系统上的路径。 - Two-Bit Alchemist

2
在文件顶部添加一个 shebang 行:http://en.wikipedia.org/wiki/Shebang_(Unix)#Purpose。这将告诉系统在运行程序时使用哪个可执行文件。例如,添加以下内容:
#!/usr/bin/env python

首先,在第一行加上这个命令,然后更改文件的权限以便您可以执行它。

chmod +x Filecount.py

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接