pythonTemplate中substitute()的使用

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

在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上运行报错,后来试了一下,冒失后面的版本不支持“()”。使用“{}”或是不写括号是没有问题的。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航