我有一个关于将变量值添加到从文件中读取的文本的问题。我的情况是,我希望单独的html文件包含可以从代码中获取值的变量。
.txt文件示例:
"""Current value of variable x is: """ + str(x) + """ and so on."""
我尝试的代码是:
x = 5
f = open("C:\\Test\\reading.txt",'r')
print(f.read())
我想要完成的是:
"""Current value of variable x is: 5 and so on."""
我想拥有它的原因是要有单独的html文件,从中生成html代码并结合变量值,然后再使用该字符串发送电子邮件。 最糟糕的情况是,我可以将html代码嵌入到我计算变量值的代码中,但是将它们分开会更方便。
答案 0 :(得分:1)
正如@tripleee指出的那样,包jinja2
正是您所寻找的。 p>
在template.html
文件中,您只需为变量添加点,例如
<p>Current value of variable x is: {{ my_variable }} and so on.</p>
使用jinja中的.render()
渲染它们。
import jinja2
template_loader = jinja2.FileSystemLoader(searchpath="./")
template_env = jinja2.Environment(loader=template_loader)
template_file = "./template.html"
template = template_env.get_template(template_file)
my_variable = 2
output_text = template.render(my_variable=my_variable) # this is where to put args to the template renderer
with open('./output.html', 'w') as f:
f.write(output_text)
现在您的文件output.html
是
<p>Current value of variable x is: 2 and so on.</p>