El 07/12/2010, a las 16:06, Jhonatan Sneider Salguero Villa escribió:



El 7 de diciembre de 2010 09:43, (p...@vel) <[email protected]> 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()

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

También puedes utilizar el método isspace(). Si hay espacios se evalúa como verdadera.

if line.isspace():
        continue
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a