Python 先点击调用命令再点击选项

Python click call command first then options

有没有办法在Python点击库更改执行顺序?

我想要cli my_command --options --options

现在我有 cli --options --options my_command

我不想在最后调用命令。

点击命令的结构如下:

command <options> subcommand <subcommand options>

我不确定您怎么会在一个命令中有两个同名的选项。但是,这两个“--options”选项适用于 'cli' 命令而不适用于您的 'my_command' 命令。

实现你想要的东西:

import click

@click.group()
@click.option('--options/--not-options', default=False)
def cli(options):
    if options:
        click.echo("Recieved options")

@cli.command()
@click.option('--options/--not-options', default=False)
def my_command(options):
    if options:
        click.echo("Recieved options")

if __name__ == '__main__':
    cli(obj={})

到 运行 从终端(文件名替换 'cli' 命令入口点):

python mytool.py --options my-command --options

>>Recieved options
>>Received options