Python单击:让组在命令后执行代码

Ram*_*hum 11 python python-click

我有一个已click.group()定义的,其中包含大约10个命令.我理解如何使用组在命令中的代码之前运行代码,但我也希望在每个命令运行后运行一些代码.点击可能吗?

r-m*_*m-n 9

您可以使用@resultcallback装饰器

@click.group()
def cli():
    click.echo('Before command')


@cli.resultcallback()
def process_result(result, **kwargs):
    click.echo('After command')


@cli.command()
def command():
    click.echo('Command')


if __name__ == '__main__':
    cli()

>> python cli.py command
>> Before command
>> Command
>> After command
Run Code Online (Sandbox Code Playgroud)

  • 请注意,“resultcallback”已重命名为“result_callback” (3认同)