如何向子命令添加通用选项,这些选项可以在子命令的名称之后*

使用 CLI 库,click我有一个app.py包含两个子命令的应用程序脚本readwrite

@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。脚本只接受命令之前的选项。


所以我的问题是:如何为两个子命令添加一个通用选项,以便它像每个子命令都提供了该选项一样工作?


森栏
浏览 129回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python