New submission from Sergey Konoplev <gray...@gmail.com>: Hello,
I am starting to use argparse package and faced the problem where an optional argument w/ nargs='+' conflicts w/ a positional argument. Here is the test case: >>> import argparse >>> p = argparse.ArgumentParser() >>> p.add_argument('foo', type=str) _StoreAction(option_strings=[], dest='foo', nargs=None, const=None, default=None, type=<type 'str'>, choices=None, help=None, metavar=None) >>> p.add_argument('-b', '--bar', type=int, nargs='+') _StoreAction(option_strings=['-b', '--bar'], dest='bar', nargs='+', const=None, default=None, type=<type 'int'>, choices=None, help=None, metavar=None) >>> p.print_help() usage: [-h] [-b BAR [BAR ...]] foo positional arguments: foo optional arguments: -h, --help show this help message and exit -b BAR [BAR ...], --bar BAR [BAR ...] >>> p.parse_args('-b 123 456 bla'.split()) usage: [-h] [-b BAR [BAR ...]] foo : error: argument -b/--bar: invalid int value: 'bla' It prints this usage string "usage: [-h] [-b BAR [BAR ...]] foo" so it is assumed that I could use this " -b 123 456 bla" but it does not works. How could it be and how to solve it? Thank you in advance. ---------- components: Library (Lib) messages: 109402 nosy: gray_hemp priority: normal severity: normal status: open title: argparse: optional argument w/ narg='+' conflicts w/ positional argsument type: behavior versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9182> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com