使用Python argparse创建隐藏参数

时间:2012-06-20 07:15:28

标签: python argparse

是否可以在python argparse.ArgumentParser中添加参数而不显示在用法或帮助中script.py --help)?

2 个答案:

答案 0 :(得分:129)

是的,您可以将help选项设置为add_argumentargparse.SUPPRESS。以下是argparse documentation

的示例
>>> 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

答案 1 :(得分: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 sysv.args:
    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)