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

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

Jak zapisać pierwszy wiersz tego (This is my first line,) w oddzielnym ciągu? I próbował użyć .readline() z innym podobnym pytaniem, jednak otrzymuję ten błąd:Jak odczytać pierwszy wiersz ciągu?

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

Odpowiedz

72

Podział linii na nowej linii i złapał pierwszą pozycję z wynikiem:

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

Przez wzgląd na sprawność, w Poinstruowałem, aby .split() dzieliło się tylko na pierwszy znak nowej linii, ponieważ odrzucamy resztę.

lub można użyć .splitlines() method zamiast

my_string.splitlines()[0] 
0

Można użyć 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 jest używany i połączeniu ze strumieniem. można użyć StringIO jeśli nalegać na użyciu readline:

from StringIO import StringIO 

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

zrobiłbym

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

czy

import re 
for line in re.split('\n', my_string): 
    print line 
Powiązane problemy