Kryptxy via Python-list <python-list@python.org> writes: > I have a group of arguments, say: (-a, -b, -c, -d, -e) [lets call it group1] > I have another group, say: (-z, -y, -x, -w) [lets call it group2]
Argument groups are a feature to control the help output from the parser: When an argument is added to the group, the parser treats it just like a normal argument, but displays the argument in a separate group for help messages. <URL:https://docs.python.org/3/library/argparse.html#argument-groups> > Now I want to get arguments of group1 and group2 separately. You don't want to use the “argument groups” feature for that, because that's not what it does. > How can I get all arguments of group 1 ONLY? Same goes for group 2? > I tried subparsers too - but they require a mandatory `positional > argument` - which is not application's requirement. I don't know of a way to have the argument parser know the separation you're talking about, without using a subparser. You will need to maintain that separation yourself, outside the parser. One simple way (I have not tried this):: argument_names_by_group = { 'foo': {'lorem', 'donec', 'fusce'}, 'bar': {'aliquam', 'nunc'}, } args = parser.parse_args() args_by_group = { group_name: { getattr(arg_name) for arg_name in argument_names_by_group[group_name] } for group_name in argument_names_by_group } -- \ “I believe our future depends powerfully on how well we | `\ understand this cosmos, in which we float like a mote of dust | _o__) in the morning sky.” —Carl Sagan, _Cosmos_, 1980 | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list