你可以通过context
使用ignore_unkNown_options
和allow_extra_args
设置,额外的参数将在收集context.args
列表([' --unkNown_var', 'value3', '--unkNown_var2', 'value4']
)。然后,您可以将其转换为字典。
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'}
请参阅转发未知选项。