Créer des arguments cachés avec Python argparse


Réponses:


163

Oui, vous pouvez définir l' helpoption add_argumentsur argparse.SUPPRESS. Voici un exemple de la documentation 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

Ensuite, il apparaît simplement comme test ==SUPPRESS==. Au moins lorsqu'il est utilisé avec add_parser.
Thomas Ahle

1

Je le fais en ajoutant une option pour activer les cachés, et je saisis cela en regardant sysv.args.

Si vous faites cela, vous devez inclure l'argument spécial que vous choisissez sys.argvdirectement dans la liste d'analyse si vous supposez que l'option est -sd'activer les options masquées.

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")

Une sysv.argsfaute de frappe pour sys.argv?
pppery le

C'est une solution raisonnable (une fois que ma modification pour corriger les fautes de frappe est acceptée).
Siwel le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.