由于单击装饰器,不能仅通过指定参数来调用函数。该上下文类是你的朋友在这里,具体如下:
- Context.invoke()-使用您提供的参数调用另一个命令
- Context.forward()-填充当前命令的参数
因此,您的add_name_and_surname代码应如下所示:
@click.command()@click.argument('content', required=False)@click.option('--to_stdout', default=False)@click.pass_contextdef add_name_and_surname(ctx, content, to_stdout=False): result = ctx.invoke(add_surname, content=ctx.forward(add_name)) if to_stdout is True: sys.stdout.writelines(result) return result参考:http :
//click.pocoo.org/6/advanced/#invoking-other-
commands



