Issue 15428: add "Name Collision" section to argparse docs (original) (raw)
Issue15428
Created on 2012-07-23 00:00 by bethard, last changed 2022-04-11 14:57 by admin.
Messages (2) | ||
---|---|---|
msg166185 - (view) | Author: Steven Bethard (bethard) * ![]() |
Date: 2012-07-23 00:00 |
Several bugs (e.g. Issue 15327 and Issue 15271) have been filed suggesting that people aren't really clear on how argparse handles argument name collisions or how they can get it to do what they want. I think these problems could probably be solved by a "Name Collision" section (or something like that) in the argparse documentation. It would give a few example problems and show how to resolve them. Some things to include: * What happens when two arguments have the same dest (Issue 15271), with solutions including action='append' or different dest= values combined with identical metavar= values. * What happens when a parser and a sub-parser share some of the same argument names (Issue 15327), with solutions including specifying different dest= values for the parser and sub-parser * A brief mention and cross-reference to the "conflict_handler" section. | ||
msg225046 - (view) | Author: paul j3 (paul.j3) * ![]() |
Date: 2014-08-07 23:27 |
On Stackoverflow a couple of posters have asked about nesting namespaces as a way of separating the parser and subparser arguments. http://stackoverflow.com/questions/15782948 http://stackoverflow.com/questions/18668227 One solution that I rather like http://stackoverflow.com/a/18709860/901925 uses a custom Namespace class that recognizes a 'dest' like p.add_argument('--deep', dest='test.doo.deep') and produces Nestedspace(foo='test', test=Nestedspace(bar='baz', doo=Nestedspace(deep='doodod'))) I wonder if a simplified version of this could be added to the Namespace section in the documentation. There are 2 sides to the name conflict issue: - what control does the programmer have over names (esp. when using [parents] and subparsers)? - how does the programmer want to access the arguments in the resulting namespace? |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:57:33 | admin | set | github: 59633 |
2014-08-07 23:27:58 | paul.j3 | set | messages: + |
2014-08-03 13:23:49 | BreamoreBoy | set | type: enhancementversions: + Python 3.5, - Python 3.2, Python 3.3 |
2013-08-14 20:58:38 | paul.j3 | set | nosy: + paul.j3 |
2012-07-23 00:00:31 | bethard | create |