Python Нажатие и обратная связь с опцией --help не стремятся - PullRequest
0 голосов
/ 12 марта 2020

У меня есть следующий код клика:

@click.group(invoke_without_command=True)
def cli():
    click.echo("Starting CallFlow....")
    setup_logging()


# ##################----GEN---##################
@cli.command(help="a sub command")
@click.option(
    "--folder", help="Tests folder path", type=str, nargs=1,
)
def sub1(folder):
    # run some code here

Запуск имени моей проги, использующей вышеуказанное cli, например:

prog-name --help

показывает правильный текст справки:

Usage: prog-name [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  sub1       Help text

Но при запуске

prog-name sub1 --help --folder

Я получаю сообщение об ошибке, что для папки требуется такой аргумент:

Error: --folder option requires an argument

Я подумал, что --help был нетерпеливым параметром и получает оценивается первым. не должно ли это создать справочный текст?

1 Ответ

0 голосов
/ 12 марта 2020

Из документации понятие рвения относится только к порядку исполнения. Обычно параметры командной строки обрабатываются в порядке их определения; указание таких опций, как --help и --version eager, означает, что они будут оцениваться первыми.

Если бы --help не стремились, ваш пример потребовал бы, чтобы --folder всегда передавался первым, например:

prog-name sub1 --folder test_folder --help
...