Python Jinja2テンプレート:YAMLファイルCiscoサンプルチュートリアル

元のリンク:http : //networkbit.ch/python-jinja-template/

template.txtは次のとおりです。

ホスト名{{name}} 
 
インターフェースLoopback1 
IPアドレス10.11。{{id}} 255.255255.255 
 
{用の VLAN、名前 vlans.items()%} 
VLAN {{}} VLAN 
 名{{名前}} 
{%ENDFOR - %} 
 
ルータBGP {{ID}} {
 ためのネイバー BGP%} 
 隣接{リモート{neighbor.neighbor} - として {{neighbor.remote- として}} 
{%ENDFOR%}

data.yml 如下:

名前:R1 
id:1 
vlans:
 11 :ユーザー
  22 :音声
  33 :ビデオ
bgp:
  -ネイバー:10.11.1 
   リモート - のように1 
 -隣人:10.12.2 
   リモート - のように2 
 -隣人:10.13.3 
   遠隔 - として3
Pythonスクリプトを作成:
#Imports からJinja2の
 からJinja2のインポート環境、FileSystemLoader 
 
#IMPORT YAML からPyYAMLと
インポートYAML 
 
#LoadデータからPythonの辞書にYAMLファイル
設定 = yaml.load((オープン' ./data.yml ' ))
 
#Load Jinja2のテンプレート
ENV =環境(ローダ= FileSystemLoader(' ./ ')、trim_blocks =真、lstrip_blocks = TRUE)
鋳型 = env.get_template(' template.txt ' 
 
#Renderテンプレート用いてデータを出力する印刷
print(template.render(config))

 

おすすめ

転載: www.cnblogs.com/wangjq19920210/p/12761354.html