Python Cookbook学习记录 ch1_15_2013/10/25
2013-10-25 21:08
435 查看
1.15扩展和压缩制表符
tab和空格的互转,一般是tab转空格,一个expandtabs()就足够了,空格转tab可能只出在考试题中
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)
相关文章推荐
- Python Cookbook学习记录 ch1_14_2013/10/25
- Python Cookbook学习记录 ch1_17_2013/10/25
- Python Cookbook学习记录 ch1_13_2013/10/24
- Python Cookbook学习记录 ch1_1_2013/10/20
- Python Cookbook学习记录 ch1_3_2013/10/21
- Python Cookbook学习记录 ch1_4_2013/10/22
- Python Cookbook学习记录 ch1_19_2013/10/27
- Python Cookbook学习记录 ch1_12_2013/10/24
- Python Cookbook学习记录 ch1_5_2013/10/22
- Python Cookbook学习记录 ch1_6_2013/10/22
- Python Cookbook学习记录 ch1_9_2013/10/23
- Python Cookbook学习记录 ch1_2_2013/10/21
- Python Cookbook学习记录 ch1_7_2013/10/22
- Python Cookbook学习记录 ch1_8_2013/10/23
- Python Cookbook学习记录 ch1_10_2013/10/23
- Python Cookbook学习记录 ch3_1/2_2013/10/29
- Python Cookbook学习记录 ch4_8-16_2013/11/2
- Python Cookbook学习记录 ch3_5/8_2013/10/30
- Python Cookbook学习记录 ch4_6/7_2013/11/2
- Python Cookbook学习记录 ch2_2_2013/10/27