zoukankan      html  css  js  c++  java
  • 使用Template格式化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!

  • 相关阅读:
    异常处理的讨论 CQ
    看看这个Lock可不可靠 CQ
    Smart Client Software Factory(SCSF) 之起步 CQ
    建设高性能网站
    关系数据库还是NoSQL数据库
    另类递归
    cacti监控redis状态
    NoSQL书籍大全
    如果判断function的调用者?
    Error while creating db diagram:Cannot insert NULL into column diagram_id
  • 原文地址:https://www.cnblogs.com/blackmatrix/p/8196527.html
Copyright © 2011-2022 走看看