问答 如何实现 rf 框架里面的转义字符串

index9-44 · 2021年01月28日 · 最后由 少年已老 回复于 2021年02月01日 · 3245 次阅读


如上所示,我想在不引用 rf 框架的前提下,实现如上操作
就是我有一行字符串,如果我读到了 ${xxx},那么我就去配置文件里面去找 xxx 代表着什么,然后替换他。
所以这种功能如何去做呢

共收到 5 条回复 时间 点赞

把变量文件的 ${xxxx}Set to Dictionary 替换

from string import Template
... 
... _class_template = """
... class ${klass}:
...     def __init__(self, name):
...         self.name = name
... 
...     def ${method}(self):
...         print('Hi', self.name + ',', 'welcome to', '$site')
... """
... 
... template = Template(_class_template)
... exec(template.substitute(klass='MyClass',
...                          method='greet',
...                          site='StackAbuse.com'))
... 
... obj = MyClass("John Doe")
... obj.greet()
Hi John Doe, welcome to StackAbuse.com

正则提取 ${xxx}格式,去除 ${和},得到 xxx,找到 xxx 对应的真实数据,这个数据你可能存在配置文件?数据库?

如果最终要处理的是字符串替换,str 有个 replace 方法,之前看到文章有个 template 模块还是什么的也能替换

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册