由于单击装饰器,不能仅通过指定参数来调用函数。该上下文类是你的朋友在这里,具体如下:
因此,您的add_name_and_surname代码应如下所示:
@click.command()
@click.argument('content', required=False)
@click.option('--to_stdout', default=False)
@click.pass_context
def 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