仅当参数等于某值时才单击密码选项

scp*_*ntm 7 python python-click

在单击中,我正在定义此命令:

@click.command('time', short_help='Timesheet Generator')
@click.argument('time_command', type=click.Choice(['this', 'last']))
@click.argument('data_mode', type=click.Choice(['excel', 'exchange']), default='exchange')
@click.option('--password', prompt=True, hide_input=True, confirmation_prompt=False)
@pass_context
def cli(ctx, time_command, data_mode, password):
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我只希望密码在data_mode参数等于exchange. 我怎么能把它拉下来?

Mat*_*bin 0

您可以尝试将其拆分为多个命令。例如,time将是入口点命令。然后将根据 的值调用或time_excel。其中一个可能会出现密码提示,而另一个则不会。time_exchangetimedata_mode

请参阅Click 文档中的调用其他命令。