Template是python string提供的一個字符串模板功能。主要用於文本處理
from string import Template s = Template('$who 在 $do') ts = s.substitute(who="張三", do="賞花") print(ts)
說明:模板s中默認以 $ 標識需要替換的變量,在substitute以鍵值對的格式定義替換變量的值,並且key值需要與模板中的變量名保持一致。
Template有兩個定義替換變量的方法:
- substitute:模板所帶的keywords必須被全部替換,不然會拋出KeyError異常
- safe_substitute:不會拋出異常,能配對的配對。不能配對的保留原來的值
substitute
演示模板中有未被替換的情況
from string import Template s = Template('$who 在 $do $b') ts = s.substitute(who="張三", do="賞花") print(ts)
safe_substitute
from string import Template s = Template('$who 在 $do $b') ts = s.safe_substitute(who="張三", do="賞花") print(ts)
參數可以為字典
from string import Template d = {"who": "張三", "do": "賞花"} s = Template('$who 在 $do').safe_substitute(d) print(s)
自定義標識符合
模板中默認以 $ 標識需要替換的變量。
可以使用繼承的方式自定義標識符
from string import Template class MyTemplate(Template): delimiter = '@' d = {"who": "張三", "do": "賞花"} s = MyTemplate('@who 在 @do').safe_substitute(d) print(s)