Возникла необходимость загнать в массив числа float (~ 44 млн. чисел) из текстового файла, значения разделены пробелами. Файл ~600 Мб.
пробовал готовые функции:
scipy.io.read_array()
numpy.loadtxt()
numpy.fromfile()
pylab.load()
в каждом случае - длительное скачкообразное забивание памяти и вылет с ошибкой MemoryError.
самым простым оказалось
corn = zeros(43915080)
cnt = 0
for line in open(corn_file, ‘r’):
for k in map(float, line.split()):
corn = k
cnt += 1
но это строка за строкой, хоть и без загрузки всего файла
может есть более быстрые решения (без С конечно) ?