Python天天美味(14) – splitlines)

來源:互聯網
上載者:User
Python中的splitlines用來分割行。當傳入的參數為True時,表示保留分行符號 \n。通過下面的例子就很明白了:

mulLine = """Hello!!!
 Wellcome to Python's world!
    There are a lot of interesting things!
        Enjoy yourself. Thank you!"""

print ''.join(mulLine.splitlines())
print '------------'
print ''.join(mulLine.splitlines(True))


輸出結果:
Hello!!! Wellcome to Python's world!    There are a lot of interesting things!        Enjoy yourself. Thank you!
------------
Hello!!!
 Wellcome to Python's world!
    There are a lot of interesting things!
        Enjoy yourself. Thank you!

利用這個函數,就可以非常方便寫一些段落處理的函數了,比如處理縮排等方法。如Cookbook書中的例子:

def addSpaces(s, numAdd):
    white = " "*numAdd
    return white + white.join(s.splitlines(True))
def numSpaces(s):
    return [len(line)-len(line.lstrip( )) for line in s.splitlines( )]
def delSpaces(s, numDel):
    if numDel > min(numSpaces(s)):
        raise ValueError, "removing more spaces than there are!"
    return '\n'.join([ line[numDel:] for line in s.splitlines( ) ])
def unIndentBlock(s):
    return delSpaces(s, min(numSpaces(s)))



 Python中的splitlines用來分割行。當傳入的參數為True時,表示保留分行符號 \n。通過下面的例子就很明白了:

mulLine = """Hello!!!
 Wellcome to Python's world!
    There are a lot of interesting things!
        Enjoy yourself. Thank you!"""

print ''.join(mulLine.splitlines())
print '------------'
print ''.join(mulLine.splitlines(True))


輸出結果:
Hello!!! Wellcome to Python's world!    There are a lot of interesting things!        Enjoy yourself. Thank you!
------------
Hello!!!
 Wellcome to Python's world!
    There are a lot of interesting things!
        Enjoy yourself. Thank you!

利用這個函數,就可以非常方便寫一些段落處理的函數了,比如處理縮排等方法。如Cookbook書中的例子:

def addSpaces(s, numAdd):
    white = " "*numAdd
    return white + white.join(s.splitlines(True))
def numSpaces(s):
    return [len(line)-len(line.lstrip( )) for line in s.splitlines( )]
def delSpaces(s, numDel):
    if numDel > min(numSpaces(s)):
        raise ValueError, "removing more spaces than there are!"
    return '\n'.join([ line[numDel:] for line in s.splitlines( ) ])
def unIndentBlock(s):
    return delSpaces(s, min(numSpaces(s)))



 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.