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

问题描述 投票:0回答:1

我正在使用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()

任何帮助我该怎么做?

提前感谢。

python python-3.x command-line-interface python-click
1个回答
0
投票

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

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
© www.soinside.com 2019 - 2024. All rights reserved.