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

Можно ли добавить аргумент в python argparse.ArgumentParser без его появления в использовании или помощи (script.py --help)?

Ответ 1

Да, вы можете установить для параметра 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

Ответ 2

Я делаю это, добавляя опцию для включения скрытых, и беру это, посмотрев на sysv.args.

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

parser.add_argument('-a', '-axis',
                    dest="axis", action=store_true, default=False,
                    help="Rotate the earth)
if "-s" in sysv.args:
    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)