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

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

Bunun ilk satırını (This is my first line,) ayrı bir dizeye nasıl kaydedebilirim? ,Dizenin ilk satırını nasıl okurum?

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

erimlilik aşkına:

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

cevap

72

Bölünmüş satırbaşıyla üzerinde hattı ve sonucundan ilk öğeyi yakala: Ben ancak bu hatayı alıyorum, başka benzer sorudan .readline() kullanmayı denedi .split() numaralı telefonu, geri kalanını attığımızdan sadece ilk yeni satıra bölünmesi için talimat verdim.

veya bunun yerine

my_string.splitlines()[0] 
0

Sen split() kullanabilirsiniz .splitlines() method kullanabilirsiniz:

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

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

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

taleb kullanılır ı akışı ile paralel. Eğer readline kullanmakta ısrar eğer StringIO kullanabilirsiniz:

from StringIO import StringIO 

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

Ben

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

yapacağını ya do

import re 
for line in re.split('\n', my_string): 
    print line 
İlgili konular