问题
Is it possible to add an Argument to an python argparse.ArgumentParser without it showing up in the usage or help (script.py --help)?
回答1:
Yes, you can set the help option to add_argument to argparse.SUPPRESS. Here's an example from the 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
回答2:
I do it by adding an option to enable the hidden ones, and grab that by looking at sysv.args.
If you do this, you have to include the special arg you pick out of sys.argv directly in the parse list if you Assume the option is -s to enable hidden options.
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)
来源:https://stackoverflow.com/questions/11114589/creating-hidden-arguments-with-python-argparse