/ usr / bin中的Python脚本

时间:2009-07-22 20:27:39

标签: python unix scripting

我正在python中编写一个非常基本的应用程序(目前只有一个文件)。我的问题是如何获取它以便python脚本能够在没有.py扩展名的/ usr / bin中运行?

例如,而不是运行

python htswap.py args

从目前的目录,我希望能够cd到任何目录并执行

htswap args

提前致谢!

5 个答案:

答案 0 :(得分:38)

只需重命名文件即可剥离.py扩展名。然后,您必须将以下行放在文件的顶部:

#!/usr/bin/env python

env是一个设置环境的小程序,以便执行正确的python解释器。

您还必须使用命令

使文件可执行
chmod a+x htswap

将其转储到/usr/local/bin。这比/usr/bin更干净,因为该目录的内容通常由操作系统管理。

答案 1 :(得分:12)

文件的第一行应该是

#!/usr/bin/env python

您应该删除.py扩展程序,并使用

使文件可执行
chmod ugo+x htswap

编辑: Thomas正确指出此类脚本应放在/usr/local/bin而不是/usr/bin中。请提出他的答案(也许是以我的代价为代价。对于这种东西,七个赞成票(就我们说的话)是荒谬的)

答案 2 :(得分:2)

认领?

#!/usr/bin/env python

将它放在文件的开头,然后设置

答案 3 :(得分:1)

#!/usr/bin/env python添加到htswap.py的最顶部,并将htswap.py重命名为htswap,然后执行命令:chmod +x htswap以使htswap可执行。

答案 4 :(得分:-1)

我在官方Python教程中看到http://docs.python.org/tutorial/index.html

#! /usr/bin/env python

正如上面的答案所示。请注意,您还可以使用以下

#!/usr/bin/python

这是你在shell脚本中看到的样式,比如bash脚本。例如

#!/bin/bash

看到官方的关键是第一个选项可能是你最好的选择。代码的一致性是值得努力的目标!