Python 在其他命令中调用click命令时捕获的输出

Python 在其他命令中调用click命令时捕获的输出,python,python-click,Python,Python Click,我在run命令中调用create命令,但无法捕获create的输出结果为无。我错过什么了吗 调用其他命令并捕获其输出的正确方法是什么 @click.command( 'create') @click.pass_context def create(ctx): ... click.echo(click.style(response['name'], fg='green')) return

我在
run
命令中调用
create
命令,但无法捕获
create
的输出<代码>结果为无。我错过什么了吗

调用其他命令并捕获其输出的正确方法是什么

   @click.command(
        'create')
    @click.pass_context
    def create(ctx):
            ...
            click.echo(click.style(response['name'], fg='green'))
            return response['name']


@click.command(
    'run')
@click.pass_context
def run(ctx):
    result = ctx.invoke(create)

单击上下文链接到父上下文,因此我只是向父上下文传递一个值

@click.command('create')
@click.pass_context
    def create(ctx):
        ...
        click.echo(click.style(response['name'], fg='green'))
        if 'invoked_by_subcommand' in ctx.parent.__dict__:
            ctx.parent.return = response['output']


@click.command('run')
@click.pass_context
def run(ctx):
    ctx.invoked_by_subcommand = True
    result = ctx.invoke(create)

单击命令不会返回。任何“输出”都来自
click.echo()
。我知道,但是
click.echo()
之后,会有
返回响应['name']
这不是click的工作方式,这些命令不会返回给调用者。堆栈中有异常处理,然后是一个
sys.exit()
。否则程序会给出一个正确的退出代码吗?明白了,有没有其他方法可以得到前一个命令的输出?把它传给上下文怎么样?