I am trying to add option of options in argparse. Currently I have:
group = parser.add_mutually_exclusive_group() group.add_argument("--md", help="Create xyz file for each ionic step for" " visualization", action='store_true') group.add_argument("--force", help="See which atom has maximum force", action='store_true') group.add_argument("--opt", help="grep string from file", nargs=2, metavar=("str", "file")) parser.add_argument("--xsf", help="Create xsf file for md(default is xyz)" " visualization", action='store_true') parser.add_argument("-N", help="Showing first N line", metavar='integer', type=int) parser.add_argument("-n", help="Showing last n line", metavar='integer', type=int) args = parser.parse_args() which gives:
./foo.py --h usage: foo.py [-h] [--md | --force | --opt str file] [--xsf] [-N integer] [-n integer] But I want --xsf as a suboption for --md, -N,-n for --opt; e.g.
./foo.py --h usage: foo.py [-h] [--md [--xsf]| --force | --opt str file [-N integer] [-n integer]] But I dont know how to achieve that. May be I am missing something, but there is no option like that in argparse doc
Is there any other way of getting that?