python string 文本常量和模版

    最近在看python标准库这本书,第一感觉非常厚,第二感觉,里面有很多原来不知道的东西,现在记下来跟大家分享一下。

    string类是python中最常用的文本处理工具,在python的标准库中,有大量的工具,可以帮助我们完成高级文本处理。

  • capwords()是将一个字符串中的所有单词的首字母大写。
import string

s = 'The quick brown fox jumped over the lazy dog.'
print s
print string.capwords(s)

运行结果如下:

The quick brown fox jumped over the lazy dog.
The Quick Brown Fox Jumped Over The Lazy Dog.

相当于先调用split(),这会将结果列表中的各个单词的首字母大写,然后再调用join()合并结果。

  • maketrans()函数将创建转换表,可以用来结合translate()方法将一组字符修改成另一组字符,这种方法比反复调用replace()更为高效
import string

leet = string.maketrans('abegiloprstz', '463611092572')
s = 'The quick brown fox jumped over the lazy dog.'
print s
print s.translate(leet)

运行结果如下:

The quick brown fox jumped over the lazy dog.
Th3 qu1ck 620wn f0x jum93d 0v32 7h3 142y d06.
  • 字符串模版是替代内置拼接(interpolation)的一种候选方法。使用string.Template拼接时,可以在变量名前面加上前缀$来标识变量,或者如果需要与两侧的文本相区分,还可以使用大括号将变量括起。
import string

values = {'var' : 'foo'}

t = string.Template("""
Variable         : $var
Escape           : $$
Variable in text : ${var}iable
""")

print 'TEMPLATE:', t.substitute(values)

s = """
Variable         : %(var)s
Escape           : %%
Variable in text : %(var)siable
"""

print 'INTERPOLATION:', s % values

运行结果

TEMPLATE:
Variable         : foo
Escape           : $
Variable in text : fooiable

INTERPOLATION:
Variable         : foo
Escape           : %
Variable in text : fooiable

posted @ 2013-06-26 22:24  roicel  阅读(1109)  评论(0编辑  收藏  举报