在 Python 中使用三引号时出现字符串格式问题
Problem with string formatting when using triple quotes in Python
为此,
name='the name'
address='the address'
s = '''{
"name": "{0}",
"address": "{1}"
}
'''
print(s.format(name, address))
我预计它会打印以下内容。
{
"name": "the name",
"address": "the address"
}
但是我得到了以下错误。为什么以及解决方案是什么?
KeyError Traceback (most recent call last)
<ipython-input-8-eb4c74e2dd68> in <module>
8 '''
9
---> 10 print(s.format(name, address))
KeyError: '\n "name"'
需要对外部 {}
进行转义以进行字符串格式化,您可以通过将 {
}
加倍来实现。
s = '''{{
"name": "{0}",
"address": "{1}"
}}
'''
为此,
name='the name'
address='the address'
s = '''{
"name": "{0}",
"address": "{1}"
}
'''
print(s.format(name, address))
我预计它会打印以下内容。
{
"name": "the name",
"address": "the address"
}
但是我得到了以下错误。为什么以及解决方案是什么?
KeyError Traceback (most recent call last)
<ipython-input-8-eb4c74e2dd68> in <module>
8 '''
9
---> 10 print(s.format(name, address))
KeyError: '\n "name"'
需要对外部 {}
进行转义以进行字符串格式化,您可以通过将 {
}
加倍来实现。
s = '''{{
"name": "{0}",
"address": "{1}"
}}
'''