Creazione di argomenti nascosti con Python argparse


Risposte:


163

Sì, puoi impostare l' helpopzione add_argumentsu argparse.SUPPRESS. Ecco un esempio dalla documentazione di 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

Quindi si presenta come test ==SUPPRESS==. Almeno se usato con add_parser.
Thomas Ahle,

1

Lo faccio aggiungendo un'opzione per abilitare quelli nascosti e lo afferro guardando sysv.args.

Se lo fai, devi includere l'argomento speciale che scegli sys.argvdirettamente nell'elenco di analisi se presumi che l'opzione sia -sdi abilitare le opzioni nascoste.

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.argsun errore di battitura per sys.argv?
pppery

Questa è una soluzione ragionevole (una volta accettata la mia modifica per correggere gli errori di battitura).
Siwel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.