Para el siguiente código Python:¿La función "abrir" de Python guarda su contenido en la memoria o en un archivo temporal?
fp = open('output.txt', 'wb')
# Very big file, writes a lot of lines, n is a very large number
for i in range(1, n):
fp.write('something' * n)
fp.close()
proceso La escritura anterior puede durar más de 30 minutos. A veces recibo el error MemoryError
. ¿El contenido del archivo antes del cierre está almacenado en la memoria o escrito en un archivo temporal? Si está en un archivo temporal, ¿cuál es su ubicación general en un sistema operativo Linux?
Editar:
Agregado fp.write en un bucle for
¿De verdad está emitiendo varias llamadas a 'fp.write', o recogiendo todo en una gran cadena y escribiendo a la vez? Este último sería bastante ineficiente. –
Llama a escritura múltiple en un bucle for. –
muestra el código. si escribe las líneas una línea por una línea, no debería ser un problema. – ghostdog74