¿Hay un límite en la memoria para python? He estado usando un script de python para calcular los valores promedio de un archivo que tiene un mínimo de 150 mb de tamaño.Límite de memoria superior?
Dependiendo del tamaño del archivo, a veces encuentro un MemoryError
.
¿Se puede asignar más memoria a la python para que no encuentre el error?
EDIT: Código ahora por debajo
NOTA: Los tamaños de los archivos puede variar en gran medida (hasta 20 GB) el tamaño mínimo del archivo es de 150 MB
file_A1_B1 = open("A1_B1_100000.txt", "r")
file_A2_B2 = open("A2_B2_100000.txt", "r")
file_A1_B2 = open("A1_B2_100000.txt", "r")
file_A2_B1 = open("A2_B1_100000.txt", "r")
file_write = open ("average_generations.txt", "w")
mutation_average = open("mutation_average", "w")
files = [file_A2_B2,file_A2_B2,file_A1_B2,file_A2_B1]
for u in files:
line = u.readlines()
list_of_lines = []
for i in line:
values = i.split('\t')
list_of_lines.append(values)
count = 0
for j in list_of_lines:
count +=1
for k in range(0,count):
list_of_lines[k].remove('\n')
length = len(list_of_lines[0])
print_counter = 4
for o in range(0,length):
total = 0
for p in range(0,count):
number = float(list_of_lines[p][o])
total = total + number
average = total/count
print average
if print_counter == 4:
file_write.write(str(average)+'\n')
print_counter = 0
print_counter +=1
file_write.write('\n')
¿Nos puede mostrar su secuencia de comandos? He procesado archivos mucho más grandes en Python sin problemas. – robert
¿Qué intenta hacer tu secuencia de comandos? Me parece que desea calcular el valor promedio de cada cuarta columna en cada uno de los archivos de entrada. ¿Está bien? –
He notado diferencias de rendimiento significativas con respecto a la memoria cuando ejecuto la misma aplicación de Python en Windows (XP) y OS X/Linux. El rendimiento en el lado de Windows tiende a ser el peor. –