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

前端 未结 16 1592
面向向阳花
面向向阳花 2020-11-21 05:31
x = \" \\{ Hello \\} {0} \"
print(x.format(42))

gives me : Key Error: Hello\\\\

I want to print the output: {Hello} 42

16条回答
  •  借酒劲吻你
    2020-11-21 05:47

    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 }}.

提交回复
热议问题