Python argparse ile gizli argümanlar oluşturma


Yanıtlar:


163

Evet, ayarlayabilirsiniz helpseçeneği için add_argumentiçin argparse.SUPPRESS. İşte argparse belgelerinden bir örnek :

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

Sonra sadece olarak ortaya çıkıyor test ==SUPPRESS==. En azından birlikte kullanıldığında add_parser.
Thomas Ahle

1

Gizli olanları etkinleştirmek için bir seçenek ekleyerek yapıyorum ve ona bakarak yakalıyorum sysv.args.

Bunu yaparsanız, seçeceğiniz özel argümanın gizli seçenekleri etkinleştirmek sys.argvolduğunu varsayarsanız, doğrudan ayrıştırma listesine dahil etmeniz -sgerekir.

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.argsBir yazım hatası mı sys.argv?
pppery

Bu makul bir çözümdür (yazım hatalarını düzeltmek için düzenlemem kabul edildiğinde).
Siwel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.