New submission from Tab Atkins Jr.: If using parse_known_args() to get argument pass-through, and one of the "unknown" arguments has a value with a space in it (even if quoted!), the entire unknown argument (key=value) will be interpreted as the value of the first positional argument instead.
Example: ``` import argparse parser = argparse.ArgumentParser() parser.add_argument("pos", nargs="?", default=None) parser.parse_known_args(["--foo='bar'"]) # (Namespace(pos=None), ['--foo=bar']) # As expected. parse.parse_known_args(["--foo='bar baz'"]) # (Namespace(pos="--foo='bar baz'"), []) # What?!? ``` Since *known* arguments with spaces in them are parsed fine, this looks to be regression in a lesser-used feature. ---------- components: Library (Lib) messages: 231448 nosy: TabAtkins priority: normal severity: normal status: open title: [argparse] Using parse_known_args, unknown arg with space in value is interpreted as first positional arg type: behavior versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22909> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com