如何在两个@click.option() 之间打印自定义消息?

how to print a custom message between two @click.option()?

我正在使用 Python Click 包编写命令行工具。

我想在两个 @click.option() 之间打印自定义消息。

这是我想要实现的示例代码:

import click


@click.command()
@click.option('--first', prompt='enter first input')
print('custom message') # want to print custom message here
@click.option('--second', prompt='enter second input')
def add_user(first, second):
    print(first)
    print(second)


add_user()

有什么帮助吗?

提前致谢。

您可以对第一个参数使用回调:

import click

def print_message(ctx, param, args):
    print("Hi")
    return args

@click.command()
@click.option('--first', prompt='enter first input', callback=print_message)
@click.option('--second', prompt='enter second input')
def add_user(first, second):
    print(first)
    print(second)


add_user()

$ python3.8 user.py 
enter first input: one
Hi
enter second input: two
one
two