如何使用自定义命令从命令行执行python脚本?

时间:2014-02-01 10:53:56

标签: python shell terminal

如果我的术语关闭,我提前道歉,但我想要做的是使用自定义命令执行python脚本。因此,例如,我想编写一个接受一些shell参数并执行一些任意shell命令的python脚本。我们将此脚本称为random.py。而不是输入:

> python random.py arguments go here

我希望能输入类似的内容:

> random arguments go here

换句话说,我想摆脱python命令并省略.py。 我意识到我可以使用别名,但我也想让这个脚本可供其他想要使用它的人使用,我不想让他们做别名。

基本上我所追求的是像meteor js,zurb foundation或grunt。 安装meteor后,我可以通过转到shell并键入:

来创建一个新的应用程序
> meteor create --newapplicationname 

与基础和咕噜相同的概念。这就是我追求的功能类型。 关于如何做这类事情的任何资源都将非常感激。

2 个答案:

答案 0 :(得分:3)

对我有用的东西(Ubuntu)在/ usr / local / bin中添加符号链接,

$> sudo ln -s /path/to/your/python/script/random.py /usr/local/bin/random
$> sudo chmod 755 /usr/local/bin/random

(如果要自动执行此步骤,只需将这两个命令放在bash脚本中)。 通常,终端现在应该找到脚本并在您输入

时执行它
$> random arg1 arg2

确保您的python脚本以

开头
#!/usr/bin/python

答案 1 :(得分:1)

如果您使用Setuptools分发项目,则可以使用Automatic Script Creation功能。只需在代码中输入setup.py脚本:

from setuptools import setup, find_packages
setup(
    name = "Random",
    version = "0.1",
    packages = find_packages(),
    entry_points = {
        'console_scripts': [
            'random = random:main_func',
        ],
    }
)

一个shell脚本“random”,实际上从模块“random”运行函数“main_func”,将在项目安装后可用。