Создание скрытых аргументов с помощью Python argparse

Ответы:

163

Да, вы можете установить этот helpпараметр add_argumentна argparse.SUPPRESS. Вот пример из документации argparse :

>>> parser = argparse.ArgumentParser(prog='frobble')
>>> parser.add_argument('--foo', help=argparse.SUPPRESS)
>>> parser.print_help()
usage: frobble [-h]

optional arguments:
  -h, --help  show this help message and exit
srgerg
источник
Тогда он просто отображается как test ==SUPPRESS==. По крайней мере, при использовании с add_parser.
Томас Але
1

Я делаю это, добавляя возможность включить скрытые, и захватываю это, глядя на sysv.args.

Если вы это сделаете, вам нужно будет включить специальный аргумент, который вы выбираете, sys.argvнепосредственно в список синтаксического анализа, если вы предполагаете, что этот параметр -sвключает скрытые параметры.

parser.add_argument('-a', '-axis',
                    dest="axis", action="store_true", default=False,
                    help="Rotate the earth")
if "-s" in sys.argv or "-secret" in sys.argv:
    parser.add_argument('-s', '-secret',
                        dest="secret", action="store_true", default=False,
                        help="Enable secret options")
    parser.add_argument('-d', '-drill',
                        dest="drill", action="store_true", default=False,
                        help="drill baby, drill")
Роб Будри
источник
Это sysv.argsопечатка sys.argv?
pppery 06
Это разумное решение (как только мое исправление опечаток будет принято).
Сивел,