This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author paul.j3
Recipients TabAtkins, paul.j3
Date 2014-11-30.01:45:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1417311935.14.0.716460163083.issue22909@psf.upfronthosting.co.za>
In-reply-to
Content
This an issue for parse_args as well.  parse_args just calls parse_known_args, and raises an error if extras is not empty.

Early on in parsing, it tries to classify argument strings as either optionals (--flags) or positionals (arguments).  And there's an explicit test for spaces:

    def _parse_optional(self, arg_string):
        ...
        # if it contains a space, it was meant to be a positional
        if ' ' in arg_string:
            return None

Basically, if it can't match the string with a define optional, and it contains a space (anywhere) it is classed as positional.  That's what your example shows.

It sounds familiar, so I suspect it was raised in an earlier issue.  I'll have to look it up.
History
Date User Action Args
2014-11-30 01:45:35paul.j3setrecipients: + paul.j3, TabAtkins
2014-11-30 01:45:35paul.j3setmessageid: <1417311935.14.0.716460163083.issue22909@psf.upfronthosting.co.za>
2014-11-30 01:45:35paul.j3linkissue22909 messages
2014-11-30 01:45:34paul.j3create