【发布时间】:2012-06-22 07:06:52
【问题描述】:
是否可以将参数添加到 python argparse.ArgumentParser 而不显示在用法或帮助中 (script.py --help)?
【问题讨论】:
是否可以将参数添加到 python argparse.ArgumentParser 而不显示在用法或帮助中 (script.py --help)?
【问题讨论】:
我通过添加一个选项来启用隐藏的选项来做到这一点,然后通过查看sysv.args 来获取它。
如果您这样做,如果您假设选项是 -s 以启用隐藏选项,则必须将您从 sys.argv 中选择的特殊 arg 直接包含在解析列表中。
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")
【讨论】:
-s 出现在层次结构中的哪个位置
是的,您可以将help 选项设置为add_argument 到argparse.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
【讨论】:
test ==SUPPRESS==。至少在与add_parser 一起使用时。