131

argparse.ArgumentParser是否可以在没有出现在用法或帮助( )中的情况下向 python 添加参数script.py --help

4

2 回答 2

188

是的,您可以将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
于 2012-06-20T07:19:44.540 回答
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")
于 2019-09-06T18:19:22.230 回答