[New-bugs-announce] [issue29568] undefined parsing behavior with the old style string formatting

Jerry Dimitrov report at bugs.python.org
Wed Feb 15 09:53:02 EST 2017


New submission from Jerry Dimitrov:

Hello everyone,
This is my first bug report to the python project, so please excuse me if the metadata for this particular issue is not 100% accurate.

Today I noticed (with the help from couple of people in IRC) a strange behavior in the python string formatting functionality.

Consider the following code snippets:

```
'%(a)s %(b)' % {'a': '1', 'b': '2'}

# result:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete format
```


```
'%(a) %(b)s' % {'a': '1', 'b': '2'}

# result:
'%(b)s'

# expected result:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete format
```

It seems that there is some kind of inconsistent (undefined) behavior, during the parsing of the type character for the formatted string (tested across all major python 2.x/3.x versions).

According to the documentation for string formatting and the relevant PEPs, there is no additional info about this particular case.

I want to say thank you to Yhg1s, JustASlacker, Jerub and lz1irq for discovering this 'bug/feature' and the additional information about it.

Please let me know if this is a bug, since I am not 100% sure if this is the case.
Thanks in advance for your time!

Best Regards,
Jerry

----------
components: Interpreter Core
messages: 287857
nosy: Jerry Dimitrov
priority: normal
severity: normal
status: open
title: undefined parsing behavior with the old style string formatting
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4, Python 3.5, Python 3.6, Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29568>
_______________________________________


More information about the New-bugs-announce mailing list