在Python Click中,可以通过使用@click.option
装饰器来定义命令行选项。要将一个选项的默认值设置为另一个参数的值,可以使用default
参数来指定默认值,并将其设置为一个函数,该函数返回另一个参数的值。
以下是一个示例代码:
import click
@click.command()
@click.option('--name', default=lambda: click.get_current_context().params['other_param'])
@click.option('--other_param')
def my_command(name, other_param):
click.echo(f"Name: {name}")
click.echo(f"Other Param: {other_param}")
if __name__ == '__main__':
my_command()
在上面的代码中,--name
选项的默认值被设置为一个匿名函数lambda: click.get_current_context().params['other_param']
,该函数返回other_param
参数的值。这样,如果没有显式指定--name
选项的值,它将默认为other_param
参数的值。
使用示例:
$ python my_script.py --other_param=test
Name: test
Other Param: test
$ python my_script.py --name=custom --other_param=test
Name: custom
Other Param: test
$ python my_script.py --other_param=test
Name: test
Other Param: test
在这个例子中,如果没有指定--name
选项的值,它将默认为--other_param
选项的值。
领取专属 10元无门槛券
手把手带您无忧上云