[issue27859] argparse - subparsers does not retain namespace
paul j3
report at bugs.python.org
Sun Sep 4 00:54:41 EDT 2016
paul j3 added the comment:
This call used to be
namespace, arg_strings = parser.parse_known_args(arg_strings, namespace)
But in 2014 (2.7.9) http://bugs.python.org/issue9351 was implemented
As noted in the title and comment in the code, the idea was to give more power to the defaults set in the subparser.
But as noted in the subsequent posts, the patch has raised some backward compatibility issues.
Generally having the action for one argument depend on the value of another argument is tricky, because arguments may be parsed in any order. (but there is a 'test_argparse.py' case that does that kind of testing). It is safer to test for any interactions after parsing is all done.
Now in the subparser case, there is an order. Main parser arguments have to come first.
I suggested in 9351 a way of allowing both behaviors - use of new namespace or use of the existing one. But as you can see there hasn't been any further action in the past 2 years.
----------
nosy: +paul.j3
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue27859>
_______________________________________
More information about the Python-bugs-list
mailing list