Python_string.Template_格式化字符串

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)

 

posted @ 2021-05-26 15:33  码上测  阅读(1607)  评论(0编辑  收藏  举报