Saya baru-baru ini mengalami ini, karena saya ingin menyuntikkan string ke JSON yang telah diformat sebelumnya. Solusi saya adalah membuat metode pembantu, seperti ini:
def preformat(msg):
""" allow {{key}} to be used for formatting in text
that already uses curly braces. First switch this into
something else, replace curlies with double curlies, and then
switch back to regular braces
"""
msg = msg.replace('{{', '<<<').replace('}}', '>>>')
msg = msg.replace('{', '{{').replace('}', '}}')
msg = msg.replace('<<<', '{').replace('>>>', '}')
return msg
Anda kemudian dapat melakukan sesuatu seperti:
formatted = preformat("""
{
"foo": "{{bar}}"
}""").format(bar="gas")
Mendapat pekerjaan yang dilakukan jika kinerja tidak menjadi masalah.