[Python-Dev] Parsing f-strings from PEP 498 -- Literal String Interpolation

Eric V. Smith eric at trueblade.com
Wed Nov 9 17:14:37 EST 2016


On 11/9/2016 11:35 AM, Paul Moore wrote:
> On 9 November 2016 at 16:20, Fabio Zadrozny <fabiofz at gmail.com> wrote:
>> Also, as a feedback, I found it a bit odd that there can't be any space nor
>> new line between the last format specifiers and '}'
>
> FWIW, that is the case for normal format strings, as well:
>
>>>> print("{!r\n}".format(12))
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> ValueError: expected ':' after conversion specifier
>
> I guess the behaviour is simply inherited from there.

Right. That and the fact that whitespace is significant inside the 
format specifier portion:

 >>> '{:%H:%M:%S\n}'.format(datetime.datetime.now())
'17:14:10\n'

I don't think it's worth changing this to allow whitespace after the 
optional one-character conversion flag.

Eric.




More information about the Python-Dev mailing list