使用Template格式化Python字符串的方法


Posted in Python onJanuary 22, 2019

对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。

from string import Template,可以导入Template类。

实例化Template类需要传入一个Template模板字符串。

class Template(metaclass=_TemplateMetaclass):
  """A string class for supporting $-substitutions."""

  delimiter = '$'
  idpattern = r'[_a-z][_a-z0-9]*'
  flags = _re.IGNORECASE

  def __init__(self, template):
    self.template = template

字符串默认以%作为定界符

# 默认的定界符是$,即会将$之后内容匹配的字符串进行替换
s = Template('hello, $world!')
print(s.substitute(world='python'))
# hello, python!

实例化Template之后,返回对象s,调用对象s的substitute,传入替换的数据,最终返回替换之后的结果。

如果需要对定界符进行修改,可以创建一个Template的子类,在子类中覆盖掉Template的类属性delimiter,赋值为需要重新设定的定界符。

# 可以通过继承Template类的方式进行替换
class CustomerTemplate(Template):
  delimiter = '*'

t = CustomerTemplate('hello, *world!')
print(t.substitute(world='python'))
# hello, python!

上面的例子中,输出和未修改定界符之前是一样的,都是hello, python!

以上这篇使用Template格式化Python字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python编写暴力破解FTP密码小工具
Nov 19 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
python追加元素到列表的方法
Jul 28 Python
在Python程序员面试中被问的最多的10道题
Dec 05 Python
python实现学生管理系统
Jan 11 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python中的RSA加密与解密实例解析
Nov 18 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
Python matplotlib实时画图案例
Apr 23 Python
Python中使用subprocess库创建附加进程
May 11 Python
python实现公司年会抽奖程序
Jan 22 #Python
对python函数签名的方法详解
Jan 22 #Python
python实现大转盘抽奖效果
Jan 22 #Python
Python函数返回不定数量的值方法
Jan 22 #Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 #Python
Python Pillow Image Invert
Jan 22 #Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 #Python
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
用nodejs写的一个简单项目打包工具
2013/05/11 NodeJs
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
nodejs基础应用
2017/02/03 NodeJs
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
jquery 实现拖动文件上传加载进度条功能
2018/03/18 jQuery
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
js实现日历
2020/11/07 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
简历的自荐信
2013/12/19 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
诚信考试倡议书
2014/04/15 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
热爱劳动主题班会
2015/08/14 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
浅谈MySQL user权限表
2021/06/18 MySQL
MySQL七种JOIN类型小结
2021/10/24 MySQL