Python先单击调用命令,然后再选择

时间:2019-05-22 16:20:10

标签: python click

Python Click库中是否可以更改执行顺序?

我想拥有cli my_command --options --options

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

我不想在最后调用命令。

1 个答案:

答案 0 :(得分:0)

点击命令的结构如下:

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