[pyar] Dudas básicas sobre manejo de archivos
Facundo Batista
facundobatista en gmail.com
Vie Jul 2 13:44:50 ART 2010
2010/7/2 Andrés Gattinoni <andresgattinoni en gmail.com>:
> Hice esto:
> http://pastebin.com/f9ErZLkK
>
> 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.
Slds.
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
More information about the pyar
mailing list