我经常通过将
csv
文件传递给 jinja2
模板来创建网络配置以获得所需的输出。我现在需要获取一个变量 {{CSR_GLOBAL_LOOPBACK}}
,它是一个 ipv4
地址,并传递给 python 脚本以将其转换为 ISIS 网络 ID,并在同一个 {{ISIS_NET}}
模板中用作变量 jinja2
。
Python脚本
ip_addr = "CSR_GLOBAL_LOOPBACK"
x = ip_addr.split(".")
ip_addr2 = ""
for i in x:
if len(i) == 1:
i = "00" + i
ip_addr2 = ip_addr2 + i
elif len(i) == 2:
i = "0" + i
ip_addr2 = ip_addr2 + i
elif len(i) == 3:
ip_addr2 = ip_addr2 + i
ISIS_NET = '.'.join(ip_addr2[i:i + 4] for i in range(0, len(ip_addr2), 4))
print(ISIS_NET)
Jinja2 模板