Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用自定义命令从命令行执行python脚本?_Python_Shell_Terminal - Fatal编程技术网

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

如何使用自定义命令从命令行执行python脚本?,python,shell,terminal,Python,Shell,Terminal,如果我的术语关闭了,我提前表示歉意,但我想做的是使用自定义命令执行python脚本。例如,我想编写一个python脚本,它接受一些shell参数并执行一些任意shell命令。我们将此脚本称为random.py。代替键入: > python random.py arguments go here 我希望能够键入以下内容: > random arguments go here 换句话说,我想去掉python命令并省略.py。 我意识到我可以使用别名,但我也想让其他任何想使用它的人都可

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

> python random.py arguments go here
我希望能够键入以下内容:

> random arguments go here
换句话说,我想去掉python命令并省略.py。 我意识到我可以使用别名,但我也想让其他任何想使用它的人都可以使用这个脚本,我不想让他们使用别名

基本上我所追求的是流星JS,Zurb基金会,或咕噜。 安装meteor后,我可以通过转到shell并键入以下内容来创建新应用程序:

> meteor create --newapplicationname 

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

对我(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
对我(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

如果使用Setuptools分发项目,则可以使用功能。只需将以下代码放入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”。

如果使用Setuptools分发项目,则可以使用该功能。只需将以下代码放入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”。

添加注释
#/usr/bin/env python
添加到.py文件的开头,并使用
chmod a+x random.py
将其标记为可执行文件。如果按照martineau的建议执行,如果您想添加注释,也可以去掉
.py
扩展名/usr/bin/env python添加到.py文件的开头,并使用
chmod a+x random.py
将其标记为可执行文件。如果按照martineau的建议执行,还可以根据需要删除
.py
扩展名