2012-08-06 13 views
25
my_string = """This is my first line, 
this is my second line, and... 

...this is my fourth line!""" 

如何將第一行(This is my first line,)存儲到單獨的字符串中?我試圖使用.readline()從另一個類似的問題,但是我得到這個錯誤:如何讀取字符串的第一行?

AttributeError: 'str' object has no attribute 'readline'

回答

72

拆分在新行上線,並從結果搶到的第一個項目:

my_string.split('\n', 1)[0] 

出於效率的緣故,我指示.split()只在第一個換行符上分割,因爲我們放棄了其餘的。

,或者您可以使用.splitlines() method代替

my_string.splitlines()[0] 
0

您可以使用split()

my_string = """This is my first line, 
this is my second line, and... 

...this is my fourth line!""" 

lines = my_string.split('\n') 
4

readline的使用我一起選擇與流。你可以使用StringIO的,如果你堅持要用的readline:

from StringIO import StringIO 

sio = StringIO(my_string) 
for sline in sio.readlines(): 
    print sline 

我會做

for line in my_string.split('\n'): 
     print line 

或做

import re 
for line in re.split('\n', my_string): 
    print line 
相關問題