Erstellen versteckter Argumente mit Python argparse


Antworten:


162

Ja, können Sie die Set - helpOption add_argumentan argparse.SUPPRESS. Hier ist ein Beispiel aus der Argparse-Dokumentation :

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

Dann zeigt es sich einfach als test ==SUPPRESS==. Zumindest bei Verwendung mit add_parser.
Thomas Ahle

1

Ich füge dazu eine Option hinzu, um die versteckten zu aktivieren, und greife dazu, indem ich sie mir ansehe sysv.args.

Wenn Sie dies tun, müssen Sie das spezielle Argument, aus dem Sie auswählen, sys.argvdirekt in die Analyseliste aufnehmen, wenn Sie davon ausgehen, dass die Option darin besteht -s, versteckte Optionen zu aktivieren.

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

Ist sysv.argsein Tippfehler für sys.argv?
pppery

Dies ist eine vernünftige Lösung (sobald meine Bearbeitung zur Behebung der Tippfehler akzeptiert wurde).
Siwel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.