如何在使用.format(或f-string)时转义大括号({})字符?
这是一个不工作的例子:
print(" \{ Hello \} {0} ".format(42))
这是我们想要的输出结果:
{Hello} 42
23 个回答
117
你可以通过把大括号写两次来解决这个问题。
比如:
x = "{{ Hello }} {0}"
print(x.format(42))
3371
你需要把 {{
和 }}
各加一倍:
>>> x = " {{ Hello }} {0} "
>>> print(x.format(42))
' { Hello } 42 '
这里是 Python 文档中关于格式字符串语法 的相关部分:
格式字符串包含用大括号
{}
包围的“替换字段”。任何不在大括号里的内容都被视为普通文本,会原封不动地输出。如果你想在普通文本中包含一个大括号字符,可以通过加倍来实现:也就是用{{
和}}
。