在python中Template可以将字符串的格式固定下来,重复利用。
Template属于string中的一个类,要使用他的话可以用以下方式调用:
fromstringimport Template
我们使用以下代码:
>>> s = Template('There ${moneyType} is ${money}')>>>PRint s.substitute(moneyType ='Dollar',money=12)
运行结果显示“There Dollar is 12”
这样我们就可以替换其中的数据了。
但是我们要替换其中的一个数据呢?
>>> print s.substitute(moneyType ='Dollar')
Traceback (most recent call last):
File"<pyshell#509>", line1,in<module>print s.substitute(moneyType='Dollar')
File"C:\Python27\lib\string.py", line172,insubstitutereturnself.pattern.sub(convert, self.template)
File"C:\Python27\lib\string.py", line162,inconvert
val=mapping[named]
KeyError:'money'
报错了。看来这样不行。
这是就要用到safe_substitute了
>>> print s.safe_substitute(moneyType ='Dollar')
There Dollaris${money}
注意:我之前看的参考书$符后使用的是“()”括号,但是我在2.7.9上运行报错,后来试了一下,冒失后面的版本不支持“()”。使用“{}”或是不写括号是没有问题的。