Я пытаюсь понять некоторые детали реализации Click.У меня есть следующий пример кода:
#cli.py
import click
@click.group()
def cli():
pass
@cli.group()
def show():
""" Define the environment of the product """
pass
@show.command()
def name():
click.echo("run show name command")
@show.command()
def height():
click.echo("run show height command")
if __name__ == "__main__":
cli()
С этим кодом name
и height
являются под- командами группы show
.Однако, семантически, это не имеет смысла.Это тем более аргументы команды 'show'.
Я знаю, что у меня может быть команда с аргументом «attribute», из которой я могу вызвать другую функцию, основанную на строковом значении «attribute».Тем не менее, я чувствую, что было бы утомительно поддерживать, когда есть несколько возможностей для «атрибута».
Я полагаю, что я все еще мог бы использовать вышеупомянутую структуру, если бы мог редактировать сообщение справки.Когда я запускаю cli.py show --help
, я получаю сообщение справки по умолчанию для группы команд:
Usage: cli.py show [OPTIONS] COMMAND [ARGS]...
Define the environment of the product
Options:
--help Show this message and exit.
Commands:
height
name
Есть ли способ отредактировать сообщение справки, чтобы изменить «Команды» на «Аргументы»?Я знаю, как изменить оператор использования в декораторе click.group (), но я не уверен, как изменить само сообщение справки.
Сообщение справки, которое я хотел бы получить, выглядит следующим образом:
Usage: cli.py show [OPTIONS] ARG
Define the environment of the product
Options:
--help Show this message and exit.
Arguments:
height
name
Возможно ли что-то подобное?
Я использую python3 и Нажмите 6,7