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

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

¿Cómo puedo almacenar la primera línea de eso (This is my first line,) en una cadena separada? Me trató de utilizar .readline() de otra pregunta similar, sin embargo, me sale este error:¿Cómo leo la primera línea de una cadena?

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

Respuesta

72

dividir la línea de saltos de línea y agarrar el primer elemento del resultado:

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

Por razones de eficiencia, Di instrucciones al .split() para que solo se dividan en la primera línea nueva, ya que descartamos el resto.

o usted podría utilizar el .splitlines() method lugar

my_string.splitlines()[0] 
0

Usted puede utilizar split(): se utiliza

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 i conjunción con un arroyo. usted podría utilizar StringIO si usted insiste en el uso de readline:

from StringIO import StringIO 

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

lo haría

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

o hacer

import re 
for line in re.split('\n', my_string): 
    print line 
Cuestiones relacionadas