pythonは標準でtemplateが使えるらしい
本日は小ネタをもう一つ。
pythonの標準ライブラリで簡単なテンプレートエンジンが使えるようです。 いや、エンジンってほど豪華なものでもなさげだけれど。
import string
t = string.Template('test $a, and $b')
t.safe_substitute(a='script', b=123)
みたいにして使える。
結果はtest script, and 123
ね。
t.safe_substitute({'a':'script', 'b':123})
としても結果は同じです。
記号をエスケープする時は
t = string.Template('test $a, and $$b')
みたいに$を重ねて書けばいいみたい。
識別用の文字($a
とか)は複数文字でも行ける。
他の文字と続けて書きたいとき(スペースを挟みたくないとき)は、
t = string.Template('test $a, and ${and}s')
とすればいいみたい。
ちなみに、string.Templateにunicode型を渡すとunicodeで、str型を渡すとstrで返ってくるようです。
簡単なものであれば、わざわざライブラリ用意せんでもいいかもね。 楽でいいこってす。