Thursday, 25 January 2018

How can I print literal curly-brace characters in python string and also use .format on it?



x = " \{ Hello \} {0} "
print x.format(42)


gives me : Key Error: Hello\\



I want to print the output: {Hello} 42


Answer



You need to double the {{ and }}:



>>> x = " {{ Hello }} {0} "
>>> print x.format(42)
' { Hello } 42 '


Here's the relevant part of the Python documentation for format string syntax:




Format strings contain “replacement fields” surrounded by curly braces {}. Anything that is not contained in braces is considered literal text, which is copied unchanged to the output. If you need to include a brace character in the literal text, it can be escaped by doubling: {{ and }}.



No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...