使用 CLI 库,click
我有一个app.py
包含两个子命令的应用程序脚本read
和write
:
@click.group()
@click.pass_context
def cli(ctx):
pass
@cli.command()
@click.pass_context
def read(ctx):
print("read")
@cli.command()
@click.pass_context
def write(ctx):
print("write")
我想声明一个共同的选项--format。我知道我可以将其添加为一个选项,命令组通过
@click.group()
@click.option('--format', default='json')
@click.pass_context
def cli(ctx, format):
ctx.obj['format'] = format
但是我不能在命令之后给出选项,这在我的用例中要自然得多。我希望能够在 shell 中发出:
app.py read --format XXX
但是通过概述的设置,我收到了消息Error: no such option: --format。脚本只接受命令之前的选项。
所以我的问题是:如何为两个子命令添加一个通用选项,以便它像每个子命令都提供了该选项一样工作?
相关分类