python中template是什么意思啊_Python中Template使用的一个小技巧

卫高谊
2023-12-01

Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用。

from string import Template

s = Template("there are ${howmany} ${lang} Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>there are 3 Python Quotation symbols

用法很简单,先生成一个模板实例s,然后调用替换函数substitute()将模板中的两个地方替换掉。替换的内容是通过字典对调用的,所以下面(lang='Python',howmany=3)出现的顺序可以不用严格的和模板中的一样。当然不用括号也是可以的。

from string import Template

s = Template("there are $howmany $lang Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>there are 3 Python Quotation symbols

注意:在使用${howmany} ${lang}时候,括号里的内容和括号要紧贴着,不然会报错。

from string import Template

s = Template("there are ${ howmany } ${lang} Quotation symbols")

print s.substitute(lang='Python',howmany=3)

>>>Traceback (most recent call last):

File "E:/�������/201703/DeepLearning/neural-networks-and-deep-learning-master/src/validation.py", line 39, in

print s.substitute(lang='Python',howmany=3)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 176, in substitute

return self.pattern.sub(convert, self.template)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 173, in convert

self._invalid(mo)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 146, in _invalid

(lineno, colno))

ValueError: Invalid placeholder in string: line 1, col 11

当然在使用substitute()的时候,对应的关键字和值都要给出,不然会报错。

from string import Template

s = Template("there are ${ howmany } ${lang} Quotation symbols")

print s.substitute(lang='Python')

>>>Traceback (most recent call last):

File "E:/�������/201703/DeepLearning/neural-networks-and-deep-learning-master/src/validation.py", line 39, in

print s.substitute(lang='Python')

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 176, in substitute

return self.pattern.sub(convert, self.template)

File "C:\Users\wangxin\Anaconda2\lib\string.py", line 166, in convert

val = mapping[named]

KeyError: 'howmany'

使用safe_substitute()可以避免报错.

from string import Template

s = Template("there are ${howmany} ${lang} Quotation symbols")

print s.safe_substitute(lang='Python')

>>>there are ${howmany} Python Quotation symbols

【每日一个小技巧】Python | input的提示信息换行输出,提示信息用变量表示

[每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在pytho ...

Django中的ORM框架使用小技巧

Django中的ORM框架使用小技巧 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite ...

Python对list操作的一些小技巧

Python对list操作的一些小技巧  由于要搞数学建模,于是从熟悉已久的C++转战Python.虽然才上手,但是Python的语法糖就让我大呼过瘾.不得不说相比于C/C++,Python对于数据的 ...

快速掌握iOS API的一个小技巧

快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承 ...

【flash】关于flash的制作透明gif的一个小技巧

关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...

Python 练习冊,每天一个小程序

 类似资料: