我想使用 python click 实现 mycommand --version。我有类似的东西在工作,但感觉有点笨拙。
@click.group(invoke_without_command=True, no_args_is_help=True)
@click.pass_context
@click.option('--version', 'version')
def cli(ctx, version):
if version:
ctx.echo(f'{sys.argv[0]} {__version__}')
ctx.exit()
请您参考如下方法:
事实证明,click 有一个内置装饰器 click.version_option来完成这个。代码现在变成:
@click.group()
@click.version_option(__version__)
@click.pass_context
def cli(ctx):
pass
