如何替换 python 中两个大括号之间的值?

How to replace values between two curly brackets in python?

我想替换两个大括号之间字符串中的值。

例如:

string  = f"""
my name is {{name}} and I'm {{age}} years old
"""

现在我想用一些值替换姓名和年龄。

render_param = {
"name":"AHMED",
"age":20
}

所以最终输出应该是。

my name is AHMED and I'm 20 years old.

您可以使用模板渲染引擎:

from django.template import Template, Context

template = Template("my name is {{ name }} and I'm {{ age }} years old")
render_param = {
    'name':'AHMED',
    'age':20
}
result = template<strong>.render(</strong>Context(render_param)<strong>)</strong>

如果你真的想要 Python,正则表达式可以做到:

import re

render_param = {
"name":"AHMED",
"age":20
}

string  = f"""
my name is {{name}} and I'm {{age}} years old
"""

print(re.sub("{(.*?)}",lambda m:str(render_param[m.group(1)]),string))

结果

my name is AHMED and I'm 20 years old.

但是当然,如​​果您有 django,请使用它的 built-in 功能,如其他答案所示。