Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/06/2014, 01:51
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema: Memory Error

Bien, perfecto.

Podés hacer lo siguiente (suponiendo que el error te da al intentar hacer un bucle que lea línea por línea):

Lo primero, es abrir el archivo, luego guardarlo en una variable, asegurate de no tener tantos programas abiertos, mientras menos tengas, mejor, no se si eso influya, pero por las dudas.
Luego cuando hacés el bucle para leer línea por línea, calculas la mitad de ese archivo o lo mejor sería que lea cada 2 o 3 millones de líneas, y vaya guardando en la misma variable ese valor, por ejemplo, supongamos que tenés un archivo de 9 millones de líneas bien?

bueno entónces leerías primero 3 millones y detendrías el bucle para evitar ese agotamiento de memoria, luego, detenés el bucle y liberás la variable que iba almacenando los datos de ese archivo, por último con la función seek() te podés desplazar de un x byte a otro para poder saber en donde quedaste y hasta donde comenzar a continuar, osea donde habías quedado antes.
Aquí te dejo una forma de hacerlo con la función seek():

http://chuwiki.chuidiang.org/index.p...eros_en_python

Si esto no resuelve tu problema, osea si tu problema es al intentar abrir el archivo y al ser tan grande python no puedo abrirlo por completo, entónces en ese caso, yo dividiría ese archivo en 2 o 3 archivos temporales, ya que al cerrar el programa, los mismos se borrarían.

Bueno estas son unas buenas formas de poder hacer posible lo que querés, pero sería mejor que pegaras un poco más de código para ver más detalladamente en que parte del código te da el error, osea al ver más código uno puede saber más certeza como solucionarlo.

Espero que esto te sirva y si no, seguí posteando que lo vamos a solucionar.