使用Python argparse创建隐藏参数


Answers:


162

是的,您可以将help选项设置add_argumentargparse.SUPPRESS。这是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

然后显示为test ==SUPPRESS==。至少与一起使用时add_parser
Thomas Ahle

1

我通过添加启用隐藏选项的选项来做到这一点,并通过查看来获取它sysv.args

如果执行此操作,sys.argv则如果您假设选项是-s启用隐藏选项,则必须将您从中选择的特殊参数直接包含在解析列表中。

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.args错字sys.argv吗?
pppery

这是一个合理的解决方案(一旦接受我的修正打字错误的编辑)。
Siwel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.