[pyar] Dudas básicas sobre manejo de archivos

Andrés Gattinoni andresgattinoni en gmail.com
Vie Jul 2 14:02:11 ART 2010


2010/7/2 Facundo Batista <facundobatista en gmail.com>:
> 2010/7/2 Andrés Gattinoni <andresgattinoni en gmail.com>:
>> Es correcto? Hay alguna forma de hacerlo sin tener que abrir dos
>> archivos y hacer el move al final?
>
> Sí.
>
> Podés leer todo el archivo en memoria, cambiar la linea, y volver a
> escribirlo. Pero esto quizás te ocupe mucha memoria, así que también
> podés abrir el archivo, ir a esa posición y modificar la linea.
>
> Eso es trivialmente fácil si la linea vieja y la nueva tienen el mismo
> largo. Si la nueva es más larga, vas a tener que ir leyendo los bytes
> antes de pisarlos e irlos grabando un poco más adelante. Si la nueva
> es más corta, vas a tener que ir trayendo los bytes de adelante para
> atrás, y al final truncar el archivo para ajustarle el largo.
>
> Todo esto último tiene el problema de que si lo hacés de a un byte
> tarda mucho, si lo hacés con todo el resto del archivo tenés que
> considerar cuanta memoria te ocupa.

Gracias!
Voy a hacer la de leer todo el archivo en memoria porque voy a
trabajar con archivos bastante pequeños y las otras opciones me traen
más complicaciones que beneficios.
Saludos,
A



More information about the pyar mailing list