Может быть, я могу изменить строки параметров существующего аргумента справки?
Просто упомянуть, очень хакерский способ изменить существующие аргументы:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.print_help()
usage: [-h]
optional arguments:
-h, --help show this help message and exit
>>> parser._actions[0].option_strings.remove("-h")
>>> parser._option_string_actions.pop("-h")
_HelpAction(option_strings=['--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, help='show this help message and exit', metavar=None)
>>> parser.print_help()
usage: [--help]
optional arguments:
--help show this help message and exit
By Кстати, вместо
parser._actions[0].option_strings.remove("-h")
parser._option_string_actions.pop("-h")
вы также можете использовать _handle_conflict_resolve
:
parser._handle_conflict_resolve(None, [("-h", parser._actions[0])])
Я думаю, что должен быть лучший способ, чем полное удаление Аргумент справки с add_help=False
просто чтобы добавить его снова с --help
и action="help"
сразу после этого
И просто для полноты, вот как это будет работать:
>>> from argparse import ArgumentParser, SUPPRESS
>>> parser = ArgumentParser(add_help=False)
>>> parser.add_argument("--help", action="help", default=SUPPRESS, help="show this help message and exit")
_HelpAction(option_strings=['--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, help='show this help message and exit', metavar=None)
>>> parser.print_help()
usage: [--help]
optional arguments:
--help show this help message and exit