Добавьте неуказанные параметры в команду cli, используя python-click

Я хотел бы добавить неуказанные параметры в команду cli, используя библиотеку python-click. Поэтому моя функция cli может выглядеть следующим образом:

$ my-cmd --option1 value1 --options2 value2 --unknown_var value3 

Мой текущий код:

 import click @click.option('--option1') @click.option('--option2') @click.command(name='my-cmd') def cli(option1, option2): click.echo("my test") 

Я хотел бы увидеть что-то вроде следующего:

 import click @click.option('--option1') @click.option('--option2') @click.command(name='my-cmd') def cli(option1, option2, **kwargs): click.echo("my test") # Manually manage **kwargs 

  • Как передать переменные другим методам с помощью пакета Python для набора кликов (Command Line Interface Creation Kit)
  • python click help форматирование новой строки
  • Как создать интерактивное меню для приложения командной строки в python?
  • One Solution collect form web for “Добавьте неуказанные параметры в команду cli, используя python-click”

    вы можете передать context с параметрами ignore_unknown_options и allow_extra_args , дополнительные аргументы будут собраны в списке context.args ( ['--unknown_var', 'value3', '--unknown_var2', 'value4'] ). Затем вы можете преобразовать его в dict.

     import click @click.command(name='my-cmd', context_settings=dict( ignore_unknown_options=True, allow_extra_args=True, )) @click.option('--option1') @click.option('--option2') @click.pass_context def cli(ctx, option1, option2): click.echo({ctx.args[i][2:]: ctx.args[i+1] for i in xrange(0, len(ctx.args), 2)}) 

    пример

     python cli.py --option1 value1 --option2 value2 --unknown_var value3 --unknown_var2 value4 >> {'unknown_var2': 'value4', 'unknown_var': 'value3'} 
    Python - лучший язык программирования в мире.