0
点赞
收藏
分享

微信扫一扫

Python:正则re.sub实现简易的模板引擎


代码实现

# -*- coding: utf-8 -*-
import re


class Template(object):
pattern = r"\{(\w+)\}"

def __init__(self, template):
self.template = template
self.re_pattern = re.compile(self.pattern)

def compile(self, **kwargs):
def foo(mo):
return kwargs[mo.group(1)]

return self.re_pattern.sub(foo, self.template)


if __name__ == '__main__':
t = Template('/student/{uid}/{name}')

data = {
"uid": '1',
"name": "Tom"
}

print(t.compile(**data))
# /student/1/Tom



举报

相关推荐

0 条评论