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 练习冊,每天一个小程序

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

  1. Oracle中删除数据的一个小技巧

    在我带的某个Project中,在开发阶段需要Reload相同的Data到Oracle中来进行测试,因此需要不断的删除数据,简单的Delete操作似乎就OK了,但其实不然.我们到知道建表的时候需要Tab ...

  2. python中列表是什么样的数据结构_Python中列表、字典、元组、集合数据结构整理...

    Python常见数据结构整理 Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) ...

  3. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  4. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  5. python包里面的dll是什么_Python中的包ImportError

    前言 Python中的包给我提供了很好的代码组织,相似的功能模块放在同一个包内,不仅代码结构清晰,而且调用起来也比较方便(可以用*导入) 但是,我们在刚开始使用Python包的时候总是会遇到导入错误& ...

  6. python 函数参数前面两个星号_Python中参数前面一个星号两个星号(*参数,**参数)起什么作用呢?...

    摘要: 下文讲述Python中参数前面一个星号两个星号的功能分享,如下所示: 在Python语言中,我们经常看见参数前面 加上一个星号或两个星号 那么这些写法到底起什么作用呢? 下文将一一道来,如下所 ...

  7. python异常处理时所使用的保留字_Python中,下列哪个保留字不用于异常处理______________。_学小易找答案...

    [单选题]维持细胞生存所必需的最基本的基因是 ( ) [单选题]从体细胞克隆高等哺乳动物的成功说明了 ( ) [单选题]细胞决定与细胞分化的关系是 ( ) [多选题]一种类型的分化细胞转变成另-种类型 ...

  8. python中的列表是指针吗_Python中的指针——到底指什么(二)

    在 Python中的指针--到底指什么(一) 中,我们知道在Python的一切都是对象,变量其实是指向PyObject对象的名称,对不可变变量进行操作后,名称指向了另一个PyObject. 扣留对象 ...

  9. python中用来回溯异常的模块_python中的异常处理使用说明

    Python的异常处理能力是很强大的,可向用户准确反馈出错信息.在Python中,异常也是对象,可对它进行操作.所有异常都是基类Exception的成员,所有异常都从基类Exception继承,而且都 ...

最新文章

  1. jsp页面展示更加商品的分类,控制商品的显示
  2. linux插光驱自动重启,Linux两种光驱自动挂载的方法
  3. 开放下载!解锁 Serverless 从入门到实战大“橙”就
  4. Bit-Z携手Bit-MY落户马来西亚 已获得经营牌照
  5. 单例模式中的属性实现
  6. pthread_create会导致内存泄露
  7. 对话李飞飞:云数据库战争已经进入下半场
  8. linux centos erlang,CentOS 7.7安装Erlang和Elixir
  9. 曲线运动与万有引力公式_粤教版第三章第一节万有引力定律
  10. 用打印服务器打印打印机显示脱机,菜鸟也专业 打印机脱机故障处理方法
  11. 兰亭字体linux版本,两种方法,让最新版 Windows 10 的字体更「养眼」
  12. 【AMESim】AMESim和Simulink联合仿真步骤
  13. 同人游戏开发手记(三) - 第二章 守护者之剑系列 (2.1 ~ 2.2)
  14. 关于使用UE编辑器无法初始化ftp的问题
  15. 使用APICloud AVM多端框架开发课程表功能
  16. 如何获取量化交易历史复权数据?
  17. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html...
  18. 医疗协议HL7的内容构成
  19. python计算三角形面积_【Scratch算法编程】计算三角形面积
  20. dw网页制作入学教程_网站制作之dreamweaver入门

热门文章

  1. 剑指offer06:从尾到头打印链表
  2. Python面向过程和面向对象
  3. java setlayout_Java Button.setLayoutX方法代码示例
  4. php7 void,2.10.PHP7.1 女神级教程-女神的私人信息 -【PHP 函数】
  5. python3 x和python2 x区别_Python3.x和Python2.x的区别(转存参考)
  6. 红黑树在java中的作用_带你真正理解Java数据结构中的红黑树
  7. mpp文件转换excel_原来只要按下这个键,Word、PDF、PPT、Excel文件随你互相转换
  8. 三位数的茎叶图怎么看_人参怎么判断年份,这些点你要了解
  9. 钉钉打卡如何破译人脸识别_疫情常态下,如何选择合适的考勤管理系统和考勤打卡工具?...
  10. java file用法_Java File 类的使用方法详解(转)