您的位置:首页 > 编程语言 > Python开发

Python Cookbook学习记录 ch1_15_2013/10/25

2013-10-25 21:08 435 查看
1.15扩展和压缩制表符

tab和空格的互转,一般是tab转空格,一个expandtabs()就足够了,空格转tab可能只出在考试题中

s = "a\t aaaaa\t         aaaa"
s1 = s.expandtabs()
print s,len(s)
print s1,len(s1)


#把空格转成tab
def unexpand(s,tablen = 8):
import re
#切分成空格和非空格
pieces = re.split(r'( +)',s.expandtabs())
#记录当前字符串总长度
lensofar = 0
for i,piece in enumerate(pieces):
thislen = len(piece)
lensofar += thislen
if piece.isspace():
#把每个空格序列改成tab+spaces
numtabs = (thislen-numblanks+tablen-1)/tablen
print numblanks,numtabs
pieces[i]='\t'*numtabs +' '*numblanks
return ''.join(pieces)

s2 = unexpand(s1)
print s1,len(s1)
print s2,len(s2)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: