使用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基于正则表达式实现文件内容替换的方法
Aug 30 Python
python Spyder界面无法打开的解决方法
Apr 27 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
Python之列表实现栈的工作功能
Jan 28 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
使用python写一个自动浏览文章的脚本实例
Dec 05 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
Python基于Dlib的人脸识别系统的实现
Feb 26 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
keras自定义回调函数查看训练的loss和accuracy方式
May 23 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
python小程序之飘落的银杏
Apr 17 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
jQuery拖拽 & 弹出层 介绍与示例
2013/12/27 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
javascript 数组操作详解
2015/01/29 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
TensorFlow实现创建分类器
2018/02/06 Python
python format 格式化输出方法
2018/07/16 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
python剪切视频与合并视频的实现
2020/03/03 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
个性发展自我评价
2014/02/11 职场文书
学校招生宣传广告词
2014/03/19 职场文书
群众路线表态发言材料
2014/10/17 职场文书
政风行风整改报告
2014/11/06 职场文书