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

yipeiwu_com6年前Python基础

对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中存取文件的4种不同操作

Python中存取文件的4种不同操作

前言: 最近开始学习tensorflow框架,选修课让任选一种框架实现mnist手写数字的识别分类。小詹也就随着大流选择了 tf 框架,跟着教程边学边做,小詹用了不同的神经网络实现了识别...

python可视化实现代码

python可视化实现代码

python可视化 #导入两个库 import numpy as np import matplotlib.pyplot as plt #第一个参数就是x轴的初始值 #第二个参数是...

跟老齐学Python之for循环语句

废话少说,上干活。 for的基本操作 for是用来循环的,是从某个对象那里依次将元素读取出来。看下面的例子,将已经学习过的数据对象用for循环一下,看看哪些能够使用,哪些不能使用。同时也...

Django通过dwebsocket实现websocket的例子

与django推荐的channel不同,dwebsocket使用更加方便简单 使用方法1: 只需views.py文件中,将对应的视图函数添加装饰器 accept_websocket-...

python脚本设置系统时间的两种方法

本文为大家分享了两种python脚本设置系统时间的方法,供大家参考,具体内容如下 第一种方法,使用Python设置系统时间,即给系统校时 #电脑时间用了一段时间后,系统时间不准了,...