[Bug 1048710] Re: Regression in argparse for both python2.7 and python3.2
Barry Warsaw
1048710 at bugs.launchpad.net
Mon Sep 10 16:38:54 UTC 2012
This is going to affect 3.3 also when Ubuntu gets 3.3 final, since I
just checked upstream hg head and it is broken there, even though it
works in today's python3.3 package.
** Bug watch added: Python Roundup #15906
http://bugs.python.org/issue15906
** Also affects: python via
http://bugs.python.org/issue15906
Importance: Unknown
Status: Unknown
** Summary changed:
- Regression in argparse for both python2.7 and python3.2
+ Regression in argparse for Python 2.7, 3.2 and 3.3
** Changed in: python2.7 (Ubuntu)
Status: New => Confirmed
** Changed in: python3.2 (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python2.7 in Ubuntu.
https://bugs.launchpad.net/bugs/1048710
Title:
Regression in argparse for Python 2.7, 3.2 and 3.3
Status in Python:
Unknown
Status in “python2.7” package in Ubuntu:
Confirmed
Status in “python3.2” package in Ubuntu:
Confirmed
Bug description:
Using the following example:
---
#!/usr/bin/python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--test", dest="test", type=str,
default=[], action='append')
args = parser.parse_args()
args.test.append("something")
---
Then running it with simply "python test.py" (WITHOUT passing --test), you get the following:
Traceback (most recent call last):
File "test.py", line 11, in <module>
args.test.append("something")
AttributeError: 'str' object has no attribute 'append'
My understanding of argparse is that when using both default=[] and
action="append", args.test should always be a list, empty if not
passing --test or a list containing the --test values if passed. After
the recent update, it seems to instead default to an empty string.
This must somehow be related to the type field as for some reason,
removing "type=str" fixes the issue though I don't really see why and
it's still a clear regression.
To manage notifications about this bug go to:
https://bugs.launchpad.net/python/+bug/1048710/+subscriptions
More information about the foundations-bugs
mailing list