New submission from Hao Huang:

When I was trying to add the same argument to both the root command and the sub 
command and you put the arguments before the subcommand, In 2.7.8 the arguments 
would be parsed correctly. But in 2.7.9, they wouldn't but these arguments 
would show up in the help doc:(

For python2.7.8
~$ python2.7
Python 2.7.8 (default, Oct 29 2014, 13:45:48)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import argparse
>>>
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("-s", dest="start")
_StoreAction(option_strings=['-s'], dest='start', nargs=None, const=None, 
default=None, type=None, choices=None, help=None, metavar=None)
>>>
>>> subparsers = parser.add_subparsers()
>>> subparser = subparsers.add_parser("command")
>>> subparser.add_argument("-s", dest="start")
_StoreAction(option_strings=['-s'], dest='start', nargs=None, const=None, 
default=None, type=None, choices=None, help=None, metavar=None)
>>>
>>> parser.parse_args(["-s", "1", "command"])
Namespace(start='1')
>>> parser.parse_args(["command", "-s", "1"])
Namespace(start='1')

For python 2.7.9
~$ python2.7
Python 2.7.9 (default, Apr 2 2015, 15:33:21)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("-s", dest="start")
_StoreAction(option_strings=['-s'], dest='start', nargs=None, const=None, 
default=None, type=None, choices=None, help=None, metavar=None)
>>>
>>> subparsers = parser.add_subparsers()
>>> subparser = subparsers.add_parser("command")
>>> subparser.add_argument("-s", dest="start")
_StoreAction(option_strings=['-s'], dest='start', nargs=None, const=None, 
default=None, type=None, choices=None, help=None, metavar=None)
>>>
>>> parser.parse_args(["-s", "1", "command"])
Namespace(start=None)
>>> parser.parse_args(["command", "-s", "1"])
Namespace(start='1')

----------
components: Argument Clinic
messages: 243700
nosy: hhuang, larry
priority: normal
severity: normal
status: open
title: Different behavior for argparse between 2.7.8 and 2.7.9 when adding the 
same arguments to the root and the sub commands
type: behavior
versions: Python 2.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24251>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to