[Python-ideas] Added a function to parse str.format() mini-language specifiers
Nick Coghlan
ncoghlan at gmail.com
Mon Mar 16 22:52:26 CET 2009
Eric Smith wrote:
> So, is such a function desirable, and if so, where would it go? I could
> expose it through the string module, which is where the sort-of-related
> Formatter class lives.
string.parse_format and string.build_format perhaps? The inverse
operation would be useful if you just wanted to do something like "use a
default precision of 3" but otherwise leave things up to the original
object.
def custom_format(fmt, value):
details = string.parse_format(fmt)
if details["precision"] is None: # Assumes None indicates missing
details["precision"] = 3
fmt = string.build_format(details)
return format(fmt, value)
While having to rebuild and reparse the string is a little annoying,
changing that would involve changing the spec for the __format__ magic
method and I don't think we want to go there.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-ideas
mailing list