Python argparse: аргумент в справке, но не в использовании - PullRequest
0 голосов
/ 29 мая 2018

В argparse я хочу, чтобы необязательные аргументы появлялись в списке справки под optional arguments:, но не в тексте использования.Я могу использовать help=argparse.SUPPRESS в аргументе, чтобы удалить его из использования, но это имеет побочный эффект удаления его из описания аргумента в тексте справки.

Возможно ли это - и если да, то как -подавить аргумент только при использовании.

Кроме того, как бы я мог заменить все необязательные аргументы консолидированным индикатором [--args] в использовании.

1 Ответ

0 голосов
/ 29 мая 2018

Если вы не укажете сообщение об использовании, оно генерируется автоматически на основе аргументов.Если вам не нравится автоматически сгенерированная строка использования, вы можете переопределить ее самостоятельно во время создания синтаксического анализатора:

parser = ArgumentParser(usage='my usage str')

Вы не можете настроить автоматически сгенерированное сообщение об использовании так, чтобы подавлять только необязательныеаргументы, это вещь «используй или теряй».Если вы хотите повторно использовать код для настраиваемого генератора использования, лучше всего подкласс HelpFormatter и переопределить метод _format_usage.

...