[Python-es] Como accedo al eof

lasizoillo lasizoillo en gmail.com
Vie Ene 21 09:13:31 CET 2011


El día 21 de enero de 2011 08:53, Douglas Jiménez <dougjim en gmail.com> escribió:
> ¡Hola a tod en s!
>
> Hasta ahora cuando he querido detectar el fin de un archivo uso la función
> eof, es decir algo como "while not eof(archivo) do". ¿Cómo se hace algo
> similar en python. No logro dar con una instrucción como ésta en el
> tutorial.
>

Python no es C. Tampoco es Java, Haskell, Brainfuck, ...

for line in open("lala.txt"):
    print line,


Un fichero es un objeto iterable. Así que puedes limitarte a iterarlo,
consiguiendo así las lineas del fichero con sus respectivos intros.
Pero esta es solo una forma de leer un fichero. Hay otras.

f = open("lala.txt")
buf = f.read(42)
while buf:
    print buf,
    buf = f.read(42)

Esta forma es mejor para tratar ficheros binarios. Imagina que estás
tratando con un fichero de 4Gb sin un solo intro. Cargaría todo el
fichero en memoria como una única linea. Aberrante.

Espero que esto responda a tu pregunta. Aunque igual "olvidate del
EOF" era suficiente ;-)

Saludos:

Javi


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