Creating hidden arguments with Python argparse

前端 未结 2 1345
旧巷少年郎
旧巷少年郎 2020-12-08 12:29

Is it possible to add an Argument to an python argparse.ArgumentParser without it showing up in the usage or help (script.py --help)?

相关标签:
2条回答
  • 2020-12-08 12:59

    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
    
    0 讨论(0)
  • 2020-12-08 13:14

    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 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")
    
    0 讨论(0)
提交回复
热议问题