¿Qué tal algo como esto?
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('test.html')
output_from_parsed_template = template.render(foo='Hello World!')
print(output_from_parsed_template)
with open("my_new_file.html", "w") as fh:
fh.write(output_from_parsed_template)
test.html
<h1>{{ foo }}</h1>
salida
<h1>Hello World!</h1>
Si está utilizando un marco, como Flask, puede hacerlo en la parte inferior de su vista, antes de regresar.
output_from_parsed_template = render_template('test.html', foo="Hello World!")
with open("some_new_file.html", "wb") as f:
f.write(output_from_parsed_template)
return output_from_parsed_template