Структура команды щелчка выглядит следующим образом:
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