Просто измените свой шаблон:
from jinja2 import Template
jT = Template('"text": "{{text}}", "peripherals": "{{peripherals}}"')
params = {'text': 'some_text', 'peripherals': 'mouse'}
print(jT.render(**params))
Возвраты:
"text": "some_text", "peripherals": "mouse"
Без изменения шаблона используйте этот пользовательский код:
jT = Template('"text": {{text}}, "peripherals": {{peripherals}}')
params = {'text': 'some_text', 'peripherals': 'mouse'}
j = jT.render(**params)
# Specifically for your example:
print(f'{j.split()[0]} "{j.split()[1][:-1]}", {j.split()[2]} "{j.split()[3]}"')
# More general:
for i in range(len(j.split()) - 1):
if i % 2 == 0:
print(j.split()[i] + ' ', end='')
else:
print('"' + j.split()[i][:-1] + '",', end=' ')
print('"' + j.split()[-1] + '"')
Возвраты:
"text": "some_text", "peripherals": "mouse"
"text": "some_text", "peripherals": "mouse"
Поместите его в функцию, если вам нужно запустить ее для нескольких шаблонов:
def render_template(j):
for i in range(len(j.split()) - 1):
if i % 2 == 0:
print(j.split()[i] + ' ', end='')
else:
print('"' + j.split()[i][:-1] + '",', end=' ')
print('"' + j.split()[-1] + '"')
render_template(j)
Снова возвращает:
"text": "some_text", "peripherals": "mouse"