Tengo un golpe de cuerda con muchas líneas. ¿Cómo leo las líneas una a una con una forcláusula? Esto es lo que estoy tratando de hacer y obtengo un error en la var textData a la que se hace referencia en la for line in textDatalínea.
for line in textData
print line
lineResult = libLAPFF.parseLine(line)
La variable textData existe, la imprimo antes de bajar, pero creo que el precompilador está provocando el error.
TIA
Dennis

textData? ¿Puede darnos un SSCCE , algo que podamos ejecutar y ver el mismo problema que usted para que podamos explicárselo?Respuestas:
¿Qué pasa con el uso
.splitlines()?for line in textData.splitlines(): print(line) lineResult = libLAPFF.parseLine(line)fuente
"/r"y"/n"son solo cadenas normales de dos caracteres que constan de una barra y una letra. ¿Quiso decir"\n"?dividiendo con nuevas líneas.
for line in wallop_of_a_string_with_many_lines.split('\n'): #do_something..si itera sobre una cadena, está iterando char por char en esa cadena, no por línea.
>>>string = 'abc' >>>for line in string: print line a b cfuente
Esta respuesta falla en un par de casos extremos (ver comentarios). La solución aceptada anterior se encargará de estos.
str.splitlines()es el camino a seguir. Dejaré esta respuesta sin embargo como referencia.Respuesta antigua (incorrecta):
s = \ """line1 line2 line3 """ lines = s.split('\n') print(lines) for line in lines: print(line)fuente
import rere.splitlugar destr.split(osplitlines) solo para dividir en caracteres de nueva línea? Construir una expresión regular a partir de un único carácter literal estático es simplemente complicar las cosas sin ninguna razón.s.split. Cambiarlo ahorasplit('\n')retendrá cualquier\rcarácter dentro de la picadura. Los retornos de carro no se eliminarán, lo que podría ser un problema.