Как напечатать пользовательское сообщение между двумя @ click.option ()? - PullRequest
0 голосов
/ 14 января 2020

Я пишу инструмент командной строки, используя Python Нажмите пакет.

Я хочу напечатать пользовательское сообщение между двумя @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()

Любая помощь, как я могу это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 14 января 2020

Вы можете использовать обратный вызов для первого аргумента:

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
...