Pythonのstring.Template
DreamWeaverでhtmlテンプレート作ってたけど、
めんどいのでスクリプトのテンプレートエンジン使いたいなぁと思った。
pythonの標準機能に、テンプレートというクラスがあった事に気づいたので、
それを使うことにする。
テンプレートのミニマムなサンプル。
#テンプレート import string tmp = string.Template("hello${header}word") tmp.substitute(header = "hi") -> 'hellohiword'
置換のちょっと便利なやつだと思っていい
もうちっとちゃんと書いた。
# coding=Shift_JIS import string page = open('template.htm').read() bodytxt = open('body.txt').read() tmp = string.Template(page) out = tmp.substitute(title = "タイトル", body = bodytxt) print out
別にtemplate.htmを用意する。
<html> <head> <title>${title}</title> </head> <body> ここはヘッダ<br> <br> ${body} <br> ここはフッタ<br> </body> </html>
titleとかbodyが見つからないと、例外が出るので注意してください。
例外でないようにしたsubstituteの安全版があったと思う