如何将多个参数列表传递给@click.option
- 论坛
- 如何将多个参数列表传递给@click.option
7 浏览
如何将多个参数列表传递给@click.option
我想通过命令行调用一个Python脚本,并使用这种参数(列表可以是任意大小,例如有3个):python test.py --option1 ["o11", "o12", "o13"] --option2 ["o21", "o22", "o23"]
,使用click库。从文档中,并没有明确说明我们可以将列表作为参数传递给@click.option。
当我尝试这样做时:
#!/usr/bin/env python import click @click.command(context_settings=dict(help_option_names=['-h', '--help'])) @click.option('--option', default=[]) def do_stuff(option): return # 做一些事情 if __name__ == '__main__': do_stuff()
,在我的test.py
中,通过命令行调用它:python test.py --option ["some option", "some option 2"]
,我得到一个错误:
Error: Got unexpected extra argument (some option 2])
。
我不能使用可变参数,因为每个命令只允许一个可变参数(http://click.pocoo.org/5/arguments/#variadic-arguments)。
所以如果有人能指点我正确的方向(最好使用click库),将不胜感激。