Problemas leyendo un fichero al encontrar EOF.

Angel Lopez Muñoz lopez en esrf.fr
Mie Sep 29 11:28:46 CEST 2004


Prueba con esto.


umbral=555.5 #el numero que se necesite
f=open('fichero', 'r'):
linea=f.readline()
while linea:
     valor=float(linea.split()[0])
     termino=str(linea.split()[1])
     if valor>umbral or valor=umbral:
         # haz lo que debas hacer...
     linea=f.readline()

f.close()

Un saludo.




At 18:04 28/09/2004 -0700, you wrote:
>¡Hola lista!
>
>Estoy teniendo algunos problemas para evitar que un programita me
>casque al encontrar el final de un fichero y no sé cómo hacer frente a
>esto. Os cuento:
>
>Estoy leyendo línea a línea distintos ficheros (una especie de listas
>de palabras) de longitud variable. Cada línea de estos ficheros tiene
>el siguiente formato:
>
>valor1  término1
>valor2  término2
>valor3  término3
>...
>valorN  términoN
>
>
>donde valor es un número con coma flotate y término es una cadena.
>Además, los valores están colocados en orden decreciente.
>
>El caso es que voy leyendo línea a línea (usando f.readline()) siempre
>que el valor de la línea actual no sea inferior a determinado umbral,
>hago un split para separar los valores y los proceso. Bueno, hasta
>aquí es sencillo. El problema lo encuentro cuando uno de los fichero
>tiene una sola línea, encuentra el EOF y casca el split. ¿Cómo puedo
>anticiparme y comprobar que no he llegado al final del fichero?
>
>Gracias de antemano y saludos.
>
>
>--
>Víctor Peinado || <vitojph /> || http://ieqo.org/blog
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es


____________________________________
Angel Lopez Muñoz
Spanish CRG BeamLine
at the European Synchrotron Radiation Facility

6, Rue Jules Horowitz
ESRF-B. P. 220
F-38043 Grenoble Cedex 09
France

Tel. +33-(0)476 88 24 49
Fax +33-(0)476 88 28 16




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