Как заменить значения между двумя фигурными скобками в python?

Я хочу заменить значения в строках между двумя фигурными скобками.

e.g:

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.render(Context(render_param))

Если вы действительно хотите этого с помощью 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, используйте его встроенную функцию, как показано в другом ответе.

Вернуться на верх