2016-07-30 204 views
0

我有一个接受1个参数的命令,并且可能带有多个标志。忽略某些标志的空参数

@click.command() 
@click.argument('item') 
@click.option('--list-items', help='list items', is_flag=True) 
def cli(item, list_items): 
    if list_items: 
     click.echo(ITEMS) 
     return 

目前它返回:

Error: Missing argument "item". 

我怎样才能让这样我就可以访问--list项的功能,即使我不提供参数?就像--help标志一样。

+0

'iten'!='item'。这是你的帖子中的错字吗? –

+0

@MartijnPieters是的,修复它。这并不重要,但代码只是在那里可视化的问题 – Granitosaurus

回答

1

你不得不做出item可选:

@click.argument('item', required=False) 

然后做错误的功能处理(例如养BadParameter() exeception)。

+0

不能相信我错过了它,已经通过文档30分钟,并找不到它:D 谢谢! – Granitosaurus

0

你来了强制参数,使其可选通过添加所需=假或通过添加一个默认值就