在Python中添加变量值以读取文件

时间:2018-01-31 11:11:55

标签: python file variables

我有一个关于将变量值添加到从文件中读取的文本的问题。我的情况是,我希望单独的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代码嵌入到我计算变量值的代码中,但是将它们分开会更方便。

1 个答案:

答案 0 :(得分:1)

正如@tripleee指出的那样,包jinja2正是您所寻找的。

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>