On Dec 3, 11:28 am, Robert Kern <[EMAIL PROTECTED]> wrote: > Neal Becker wrote: > > This example is right out of python library reference. What's wrong here? > > > import optparse > > > def store_value(option, opt_str, value, parser): > > setattr(parser.values, option.dest, value) > > > parser = optparse.OptionParser() > > parser.add_option("--foo", > > action="callback", callback=store_value, > > type="int", nargs=3, dest="foo") > > > (opt,args) = parser.parse_args ('--foo a b c'.split()) > > > [...] > > /usr/lib64/python2.5/optparse.pyc in _process_args(self, largs, rargs, > > values) > > 1423 elif self.allow_interspersed_args: > > 1424 largs.append(arg) > > -> 1425 del rargs[0] > > 1426 else: > > 1427 return # stop now, leave this arg > > in rargs > > > TypeError: 'str' object doesn't support item deletion > > Dunno. It works for me (i.e. I get the expected "error: option --foo: invalid > integer value: 'a'"). Have you tried it outside of IPython? >
Works for me (Python 2.[456] in interactive mode, Windows XP). Also gives expected result with '--foo 12 34 56'. -- http://mail.python.org/mailman/listinfo/python-list