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
有没有办法在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