Chris Bruner added the comment: Just had a chance to try this, and this does exactly what I wanted from "type=". Thank you!
On Fri, Jul 25, 2014 at 4:17 PM, paul j3 <rep...@bugs.python.org> wrote: > > paul j3 added the comment: > > What you want is a custom Action rather than a custom Type. > > from the documentation: > > >>> class FooAction(argparse.Action): > ... def __call__(self, parser, namespace, values, > option_string=None): > ... print('%r %r %r' % (namespace, values, option_string)) > ... setattr(namespace, self.dest, values) > > 'values' will be the list ['1','2','3'], which you test and manipulate, > before finally saving it to the 'namespace'. > > ret = (int(values[0]), int(values[1]), float(values[2])) > setattr(namespace, self.dest, ret) > > Setting 'nargs=3' ensures that this action will always get a 3 item list. > If the parser can't give it 3 items, it will raise an error rather than > call your Action. > > 'optparse' passed the remaining argument strings to Option's callback, > which could consume as many as it wanted. 'argparse' does not give the > Actions that power. There is a fundamental difference in the parsing > algorithm. > > ---------- > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <http://bugs.python.org/issue22049> > _______________________________________ > ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22049> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com