我正在用python编写一个非常基本的应用程序(目前只有一个文件)。我的问题是如何才能让python脚本在没有.py扩展名的情况下在/usr/bin中运行?例如,与其运行
python htswap.py args
字符串从它目前所在的目录,我希望能够cd到任何目录,并做
htswap args
型提前感谢!
n8ghc7c11#
只需通过重命名文件来去除.py扩展名。然后,您必须将以下行放在文件的顶部:
.py
#!/usr/bin/env python
字符串env是一个设置环境的小程序,以便执行正确的python解释器。您还必须使用以下命令使文件可执行
env
python
chmod a+x htswap
型并将其转储到/usr/local/bin中。这比/usr/bin更干净,因为该目录的内容通常由操作系统管理。
/usr/local/bin
/usr/bin
mwg9r5ms2#
文件的第一行应该是
字符串您应该删除.py扩展名,并使用
chmod ugo+x htswap
型
编辑:Thomas正确地指出,这样的脚本应该放在/usr/local/bin中,而不是/usr/bin中。请支持他的回答(也许是以我的为代价。七个赞成票(就像我们所说的)对于这种东西是荒谬的)
gajydyqb3#
Shebang?
字符串把这句话写在你档案的开头,就搞定了
wtzytmuj4#
将#!/usr/bin/env python添加到htswap.py的顶部,并将htswap.py重命名为htswap,然后执行命令:chmod +x htswap使htswap可执行。
htswap.py
htswap
chmod +x htswap
doinxwow5#
我在官方Python教程http://docs.python.org/tutorial/index.html中看到,
#! /usr/bin/env python
字符串正如上面的答案所建议的那样使用。请注意,您也可以使用以下
#!/usr/bin/python
型这是您将在shell脚本(如bash脚本)中看到的样式。
#!/bin/bash
型看到官方的tuts去与第一个选项,这可能是你最好的选择。代码的一致性是要争取的!
5条答案
按热度按时间n8ghc7c11#
只需通过重命名文件来去除
.py
扩展名。然后,您必须将以下行放在文件的顶部:字符串
env
是一个设置环境的小程序,以便执行正确的python
解释器。您还必须使用以下命令使文件可执行
型
并将其转储到
/usr/local/bin
中。这比/usr/bin
更干净,因为该目录的内容通常由操作系统管理。mwg9r5ms2#
文件的第一行应该是
字符串
您应该删除
.py
扩展名,并使用型
编辑:Thomas正确地指出,这样的脚本应该放在
/usr/local/bin
中,而不是/usr/bin
中。请支持他的回答(也许是以我的为代价。七个赞成票(就像我们所说的)对于这种东西是荒谬的)gajydyqb3#
Shebang?
字符串
把这句话写在你档案的开头,就搞定了
wtzytmuj4#
将
#!/usr/bin/env python
添加到htswap.py
的顶部,并将htswap.py
重命名为htswap
,然后执行命令:chmod +x htswap
使htswap可执行。doinxwow5#
我在官方Python教程http://docs.python.org/tutorial/index.html中看到,
字符串
正如上面的答案所建议的那样使用。请注意,您也可以使用以下
型
这是您将在shell脚本(如bash脚本)中看到的样式。
型
看到官方的tuts去与第一个选项,这可能是你最好的选择。代码的一致性是要争取的!