python functiontool_Python cli_tools包_程序模块 - PyPI - Python中文网

简单使用cli工具

使用

cli_工具的最简单示例是

以下:from cli_tools import *

@console

def function():

"""

Performs an action.

"""

...

在这个声明中,函数被定义为不接受参数

(除了argparse默认的"–help")。对

结果脚本将是"执行操作"。

要将其声明为实际的控制台脚本,下面的子句将

需要添加到setup中的

setup()

调用中。py:entry_points={

'console_scripts': [

'function = your_module:function.console',

],

}

特别注意函数名后面的".console"。

decorators向函数添加了几个属性,包括

callable

console()

,它执行实际的命令行

参数解析。

上面的例子是最简单的例子,但是

有趣的是一些定义的参数:@argument('--debug', '-d',

dest='debug',

action='store_true',

default=False,

help="Run the tool in debug mode.")

@argument('--dryrun', '--dry_run', '--dry-run', '-n',

dest='dry_run',

action='store_true',

default=False,

help="Perform a dry run.")

def function(dry_run=False):

"""

Performs an action.

"""

...

首先要注意的是取消了

@控制台

装饰者。使用控制台不会有任何伤害,但是

decorators执行相同的核心操作;只要其中一个

使用装饰器时,不需要控制台。

要注意的第二件事是为

"–dryrun"选项与唯一的函数参数匹配。当作为

控制台脚本,从命令行参数计算的值

将作为此关键字参数传递。

要注意的第三件事是为

"–debug"选项不匹配任何函数参数。那面旗子很简单

不能传递给函数。

(事实上,

调试

参数被特殊处理。下

正常情况下,如果函数引发异常,则

异常被强制为字符串,打印为标准错误,然后

控制台脚本退出。如果

调试

参数为

但是,将不会捕获异常,从而打印出

堆栈跟踪。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值