Jinja2を試してみた(Python テンプレートエンジン)
PythonのテンプレートエンジンであるJinja2を使って、 信号機の色を出力する簡単なサンプルを作ってみる。
Welcome | Jinja2 (The Python Template Engine)
インストール
環境はMBPローカル。pipですぐにインストールできる。
$ pip install jinja2
実装サンプル
signals.py
#!/usr/bin/python # -*- coding: utf-8 -*- from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('./', encoding='utf8')) tmpl = env.get_template('tmpl.txt') signals = [] signals.append({'color':'blue'}) signals.append({'color':'yellow'}) signals.append({'color':'red'}) output = tmpl.render({'title':'signal color', 'signals':signals}) f = open('output.txt', 'w') f.write(output) f.close()
tmpl.txt
{{ title }} {% for signal in signals -%} - {{ signal.color }} {% endfor %}
実行結果
output.txt
signal color - blue - yellow - red