Problemas leyendo un fichero al encontrar EOF.

Jordi Pascual jordipascual en ono.com
Mie Sep 29 09:28:29 CEST 2004


Creo que podrías leer todo el archivo, utilizar un for para leer los 
valores, utilizando el separador que tengas en el archivo (coma, 
espacio, etc.) y usar un break cuando llegues a la condición, algo así:

archivo = open(nombreArchivo,'r')
...
for (valor,termino) in archivo:
    if condicion:
       break
    [el procesado que quieras]

O, creo que mejor, podrías usar las excepciones:
lee las líneas dentro de un try: except

try:
    abre archivo, procesa, etc.
except IOError:
    pass      [o lo que necesites]

   


En/na Victor Peinado ha escrit:

>¡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.
> 
>
>  
>




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