jinja2是python的模板渲染引擎。在做软件配置管理的时候,使用jinja2也是非常方便的。如:
cat template.json.j2
virtual_ipaddress {
{{ip_mask}}
}
需要生成ip_mask=192.168.1.196/24的配置,示例代码如下:
from jinja2 import Template
with open("template.json.j2", "r") as fd:
template = Template(fd.read())
config_content = template.render(ip_mask="192.168.1.196/24")
with open("test.conf", "w") as fd:
fd.write(config_content)
则可生成如下配置文件:
cat test.conf
virtual_ipaddress {
192.168.1.196/24
}