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