[Python-es] fichero y linea en blanco

Pau Cervera pau.cervera en gmail.com
Mar Dic 7 16:25:03 CET 2010


Perdón, se me ha ido la olla. :)
Hazle caso a Johnatan. El condicional funciona porqué un empty sring es
False en python.

Si quieres sacarles el newline y hacerlo todo de una tirada:

>>> f = open('c:/py/test.txt')
>>> for line in map(lambda x: x.strip(), f.readlines()):
...     if len(line) > 0:
...             print line
...
linea uno
linea dos
linea tres, siguiente en blanco
linea cinco
liniea final
>>>


-----
Pau

Python..., what else?


2010/12/7 Pau Cervera <pau.cervera en gmail.com>

> Buenas,
>
> no será que le falta una coma al print?
>
> >>> f = open('c:/py/test.txt')
> >>> for line in f.readlines():
> ...     if len(line) > 1:
> ...             print line,
> ...
> linea uno
> linea dos
> linea tres, siguiente en blanco
> linea cinco
> liniea final
> >>>
>
>
> -----
> Pau
>
> Python..., what else?
>
>
> 2010/12/7 Jhonatan Sneider Salguero Villa <sney2002 en gmail.com>
>
>
>>
>> El 7 de diciembre de 2010 09:43, (P en vel) <pdlopez en uci.cu> escribió:
>>
>>>  Tengo el siguiente problema, estoy leyendo un fichero pero quiero que
>>> al leer una linea en blanco no haga nada, estaba probando el codigo de abajo
>>> pero me imprime la linea en blanco cada vez que la encuentra
>>>
>>> f = open('/home/pavel/Escritorio/char/file.txt')
>>> for line in f.readlines():
>>>     if len(line)==1:     # if line=='\n'
>>>         continue
>>>     else:
>>>         print
>>> line[0]+line[1]+line[2]+line[3]+line[4]+line[5]+line[6]+line[7]+"
>>> "+line[24]+line[32]
>>> f.close()
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>> el problema es que una linea en "blanco" puede estar llena con espacios y
>> por lo tanto medir mas de 1,
>> prueba usar el método strip sin argumentos para eliminar todos los
>> espacios de la linea,
>> si solo contiene espacios en blanco la expresión se evaluara como falsa:
>>
>> if not line.strip():
>>         continue
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20101207/d10c49c4/attachment.html>


Más información sobre la lista de distribución Python-es