使用 jinja2 生成指定模板的文件

 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,最常用在网页方面

他基于unicode并能在python2.4之后的版本运行,包括python3
下面是一个简单的例子

  • 新建模板文件

  文件名为 test.template

*** Test Cases ***
{%- for x in iter1 %}
{% if x == 'a' %}
列表里有:{{ x }}
    [转换成int型的值为:]  {{ int(x) }}
    [记录-符号的效果]   {{ x -}}
{% else %}
    {{ x }}  {{ key1 }}
{%- endif %}
{%- endfor %}

  该文件是最后要生成的文件的模板,其中 iter1 ,key1 是要引用的对象


  • 生成新文件

  新文件的名称为 test_case.robot

from jinja2 import Template

'''创建要在模板文件中使用的对象'''
value1 = [1,2,3]
def iter1():
    return ['a', 'b', 'c']

'''生成要引用的字典'''
var = {'key1': value1, 'iter1': iter1()}

string = open('test.template', encoding='utf8').read() #打开模板文件
template = Template(string)

ret = template.render(var)

open('test_case.robot', 'w', encoding='utf8').write(ret)

 

posted @ 2021-01-18 21:26  Pio-GD  阅读(645)  评论(0)    收藏  举报