Membuat argumen tersembunyi dengan argparse Python


Jawaban:


163

Ya, Anda dapat menyetel helpopsi add_argumentke argparse.SUPPRESS. Berikut adalah contoh dari dokumentasi 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

Kemudian itu hanya muncul sebagai test ==SUPPRESS==. Setidaknya saat digunakan dengan add_parser.
Thomas Ahle

1

Saya melakukannya dengan menambahkan opsi untuk mengaktifkan yang tersembunyi, dan mengambilnya dengan melihatnya sysv.args.

Jika Anda melakukan ini, Anda harus menyertakan arg khusus yang Anda pilih sys.argvsecara langsung dalam daftar parse jika Anda menganggap opsi tersebut adalah -suntuk mengaktifkan opsi tersembunyi.

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

Apakah sysv.argssalah ketik untuk sys.argv?
pppery

Ini adalah solusi yang masuk akal (setelah pengeditan saya untuk memperbaiki kesalahan ketik diterima).
Siwel
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.