Python - 字符串模板的安全替换(safe_substitute) 具体解释

字符串模板的安全替换(safe_substitute) 具体解释

本文地址: http://blog.csdn.net/caroline_wendy/article/details/27057339

字符串模板(sting.Template), 替换时, 使用substitute(), 未能提供模板所需的所有參数值时, 会发生异常.

假设使用safe_substitute(), 即安全替换, 则会替换存在的字典值, 保留未存在的替换符号.

代码:

# -*- coding: utf-8 -*-

‘‘‘
Created on 2014.5.26

@author: C.L.Wang

Eclipse Pydev python 2.7.5
‘‘‘

import string

values = {‘var‘ : ‘foo‘}

t = string.Template(‘‘‘$var is here but $ missing is not provided! ‘‘‘)

try:
    print ‘substitute() : ‘, t.substitute(values)
except ValueError as err:
    print ‘Error:‘, str(err)

print ‘safe_substitude() : ‘, t.safe_substitute(values)

输出:

substitute() :  Error: Invalid placeholder in string: line 1, col 18
safe_substitude() :  foo is here but $ missing is not provided!
时间: 2024-10-14 23:43:26

Python - 字符串模板的安全替换(safe_substitute) 具体解释的相关文章

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

http://www.cnblogs.com/huangcong/archi s.strip() .lstrip() .rstrip(',') 去空格及特殊符号 复制字符串 Python 1 #strcpy(sStr1,sStr2) 2 sStr1 = 'strcpy' 3 sStr2 = sStr1 4 sStr1 = 'strcpy2' 5 print sStr2 连接字符串 Python 1 #strcat(sStr1,sStr2) 2 sStr1 = 'strcat' 3 sStr2 =

python 字符串模板

from string import Template print(type(Template)) mystr = Template("hi,$name 你是$baby") print(mystr.substitute(name = "边真", baby = "lovely ")) 输出 # 结果 <class 'string._TemplateMetaclass'> hi,边真 你是lovely 原文地址:https://www.c

Python字符串拼接、截取及替换方法总结

字符串拼接: 用字符串的join方法: a = ['a','b','c','d'] content = '' content = ''.join(a) print content content的结果:'abcd' 用字符串的替换占位符替换: a = ['a','b','c','d'] content = '' content = '%s%s%s%s' % tuple(a)  print content content的结果是:'abcd' 字符串截取: python的字串列表有2种取值顺序 1

【Java】字符串模板替换

原文:[Java]字符串模板替换 源代码下载地址:http://www.zuidaima.com/share/1593989887085568.htm 自己封装的工具类中的一个小方法. String str = "大象说它会{0}死,蚂蚁说它会{0}死"; template(str,"胖", "瘦"); 输出: 大象说它会胖死,蚂蚁说它会瘦死 代码请下载. 可以用一些模板语言实现,不过这个代码很好的诠释了模板的机制,赞一个. 参考如下代码: 自己

涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串

今天发布刚完成的涛哥的Python脚本工具箱之批量替换目录所有指定扩展名的文件中的指定字符串,命令行参数处理改用目前比较好用的argparse库,Python代码如下: #!/usr/bin/python2.7 # -*- encoding: UTF-8 -*- # Copyright 2014 [email protected] """replace old string with new string from all files in path 批量替换目录所有指定扩展

python字符串替换的2种有效方法

python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'我把a字符串里的word替换为python1用字符串本身的replace方法a.replace('word','python')输出的结果是hello python 2用正则表达式来完成替换:import restrinfo = re.compile('word')b = strinfo.sub('python',a)print b输出的结果也是hell

python字符串(大小写、判断、查找、分割、拼接、裁剪、替换、格式化)

一.通用操作 1.Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. 语法 len()方法语法: len( q ) 参数 q -- 对象. 返回值 返回对象长度. 实例 以下实例展示了 len() 的使用方法: >>>str = "runoob" >>> len(str) # 字符串长度 6 >>> l = [1,2,3,4,5] >>> len(l) # 列表元素个数 5 2.pytho

python字符串替换的2种方法

python字符串替换可以用两种方法实现: 1.用字符串本身的方法 2.用正则来替换字符串 下面用个例子来实验: a = 'hello word' 我把a字符串里的word替换为python 1.用字符串本身的replace方法 a.replace('word' , 'python') 输出结果是hello  python 2.用正则表达式来完成替换: import  re strinfo = re . compile('word') b = strinfo.sub('python',a) pr

python字符串格式化 (%操作符)

模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei', 99)) 上面的例子中, "I'm %s. I'm %d year old" 为我们的模板.%s为第一个格式符,表示一个字符串.%d为第二个格式符,表示一个整数