是否可以向 pythonargparse.ArgumentParser添加一个 Argument 而不在使用或帮助(script.py --help)中显示它?
argparse.ArgumentParser
script.py --help
是的,你可以将 help选项设置为 add_argument设置为 argparse.SUPPRESS:
help
add_argument
argparse.SUPPRESS
>>> 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
我通过添加一个选项来启用隐藏的选项,并通过查看 sysv.args来获取这个选项。
sysv.args
如果您这样做,您必须将从 sys.argv中挑选的特殊参数直接包含在解析列表中,如果假设该选项为 -s以启用隐藏选项。
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")