[Python-Dev] transitioning from % to {} formatting

Barry Warsaw barry at python.org
Wed Sep 30 20:27:59 CEST 2009


On Sep 30, 2009, at 1:01 PM, Antoine Pitrou wrote:

> Why not allow logging.Formatter to take a callable, which would in  
> turn call the
> callable with keyword arguments?
>
> Therefore, you could write:
>   logging.Formatter("{asctime} - {name} - {level} - {msg}".format)

This is a very interesting idea.

Note that one of the reasons to /at least/ support {}-strings also is  
that %-strings are simply too error prone in many situations.  For  
example, if I decide to support internationalization of log format  
strings, and all I can use is %-strings, it's almost guaranteed that I  
will have bugs because a translator forgot the trailing 's'.  This  
exactly the motivation that led to PEP 292 $-strings.

In fact, while we're at it, it would be kind of cool if I could use $- 
strings in log templates.  Antoine's idea of accepting a callable  
might fit that bill nicely.

-Barry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 832 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/python-dev/attachments/20090930/c8c788f5/attachment.pgp>


More information about the Python-Dev mailing list