Python で YAML を読み込んで Jinja2 でテンプレートに値を埋め込む
概要
さまざまなツールで YAML が設定ファイルの形式として採用されるようになってきたので、 Python で YAML を読み込んで Jinja2 のテンプレートに適用してみる。
ライブラリをインストール
サンプルコード
yaml_jinja2.py
import sys, yaml, jinja2
_loader = jinja2.FileSystemLoader("./", encoding='utf-8')
_environment = jinja2.Environment(loader=_loader)
_template = _environment.get_template(sys.argv[1])
sys.stdout.write(_template.render(yaml.load(sys.stdin)))
test.yml
test.j2
hoge: {{ hoge }}
piyo: {{ piyo }}
実行
↓を実行すると、標準入力から YAML を読み込み、テンプレートに適用できることがわかる。