Python Cookbook学习记录 ch1_14_2013/10/25

1.14 改变多行文本字符串的缩进

>>> def reindent(s,spacenum):
    leadspace = ' '*spacenum
    lines = [leadspace+line.strip() for line in s.splitlines()]
    return '\n'.join(lines)

确保文本每一行直接的相对缩进,这样子需要提前计算每一行行首的空格数(下述代码没有按照书中的方式进行处理)

>>> def numspaces(s):
    return [len(line)-len(line.lstrip()) for line in x.splitlines()]
>>> def reindent(s, numSpaces):
        leading_space = numSpaces * ' '
        abc = numspaces(s)
        lines = [(numSpaces+line2) + line1.strip() for line2,line1 in zip(abc,s.splitlines()) ]
        return '\n'.join(lines)

 

posted on 2013-10-25 20:59  七海之风  阅读(158)  评论(0)    收藏  举报

导航