如何在格式化的 python 字符串中允许“{”或“}”字符
How to allow '{' or '}' characters in a formatted python string
我需要打印出类似于以下内容的字符串:"Field1: {Bob} Field2: {value}"
其中第一个字段是常量,但第二个字段是从某个变量格式化的。
我尝试使用这样的一行:
field_str = "Field1: {Bob} Field2: {}".format(val)
但我收到错误:
KeyError: 'Bob'
我很确定这是因为字符串中的“{”和“}”字符被解释为需要格式化的内容,即使我希望字符串包含这些值。这是一个更大的字符串的一部分,所以我宁愿不手动将字符串连接在一起,但我可以以某种方式添加格式字符或其他内容以使其忽略字符串中“{}”内的值.
有什么方法可以表明“{”或“}”字符不用于格式化字符串?
使用双 {{}}
和 python 字符串格式 f"...".
val = 2
field_str = f"Field1: {{Bob}} Field2: {val}"
print(field_str)
输出:
Field1: {Bob} Field2: 2
您也可以预先格式化 Bob
值。例如
val = 2
field1 = '{Bob}'
field_str = f"Field1: {field1} Field2: {val}"
我需要打印出类似于以下内容的字符串:"Field1: {Bob} Field2: {value}"
其中第一个字段是常量,但第二个字段是从某个变量格式化的。
我尝试使用这样的一行:
field_str = "Field1: {Bob} Field2: {}".format(val)
但我收到错误:
KeyError: 'Bob'
我很确定这是因为字符串中的“{”和“}”字符被解释为需要格式化的内容,即使我希望字符串包含这些值。这是一个更大的字符串的一部分,所以我宁愿不手动将字符串连接在一起,但我可以以某种方式添加格式字符或其他内容以使其忽略字符串中“{}”内的值.
有什么方法可以表明“{”或“}”字符不用于格式化字符串?
使用双 {{}}
和 python 字符串格式 f"...".
val = 2
field_str = f"Field1: {{Bob}} Field2: {val}"
print(field_str)
输出:
Field1: {Bob} Field2: 2
您也可以预先格式化 Bob
值。例如
val = 2
field1 = '{Bob}'
field_str = f"Field1: {field1} Field2: {val}"