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 davidchambers
Recipients davidchambers, docs@python
Date 2013-10-06.04:14:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
I first raised this issue on Stack Overflow:

The [replacement field grammar][1] states that an [integer][2] is a valid field_name, but this is inaccurate:

    >>> '{0}'.format('zero')
    >>> '{0x0}.format('zero')
    KeyError: '0x0'
    >>> '{0o0}.format('zero')
    KeyError: '0o0'
    >>> '{0b0}.format('zero')
    KeyError: '0b0'

This [comment][3] by Eric Smith suggests that the above is the intended behaviour:

> get_integer uses the narrowest possible definition for integer indexes,
> in order to pass all other strings to mappings.

The documentation should be updated to match the actual behaviour. abarnert on Stack Overflow suggested the following change:

    -arg_name          ::=  [identifier | integer]
    +arg_name          ::=  [identifier | digit+]

Date User Action Args
2013-10-06 04:14:25davidchamberssetrecipients: + davidchambers, docs@python
2013-10-06 04:14:24davidchamberssetmessageid: <>
2013-10-06 04:14:24davidchamberslinkissue19175 messages
2013-10-06 04:14:23davidchamberscreate