[Bug 1048710] [NEW] Regression in argparse for both python2.7 and python3.2

Launchpad Bug Tracker 1048710 at bugs.launchpad.net
Mon Sep 10 16:32:21 UTC 2012


You have been subscribed to a public bug:

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.

** Affects: python2.7 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: bot-comment
-- 
Regression in argparse for both python2.7 and python3.2
https://bugs.launchpad.net/bugs/1048710
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to python2.7 in Ubuntu.




More information about the foundations-bugs mailing list