将 jinja2 变量传递给 python 脚本并使用输出作为 jinja2 模板中的变量

问题描述 投票:0回答:0

我经常通过将

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 模板

python variables jinja2
© www.soinside.com 2019 - 2024. All rights reserved.