2014-10-26 3 views
1

Я читаю несколько файлов данных различной длины, используя struct.unpack(). Он отлично работает для файлов размером около 200 МБ, но дает MemoryError в struct.unpack(), когда размер файлов превышает 200 МБ. В соответствующем обсуждении в http://bugs.python.org/issue14596 упоминалось, что struct.unpack() отлично работает для одной и той же длины файлов данных и создает утечки памяти, если файлы данных имеют разную длину. Я также тестировал несколько файлов одинакового размера, которые накапливаются до 2 ГБ, и он отлично работает.MemoryError из-за утечки памяти struct.unpack() при чтении нескольких файлов разного размера

Итак, что такое решение для чтения нескольких файлов разной длины с использованием struct.unpack()?

Спасибо -Sabih

ответ

1

Проблема решается в настоящее время. Вместо того, чтобы использовать struct.unpack() для чтения нескольких файлов данных различной длины, numpy.fromfile() встречается быстрее, и нет больше проблем с несколькими файлами с переменной длиной данных. Итак, numpy.fromfile() рекомендуется читать несколько файлов с переменной длиной данных. Я тестировал около 2 ГБ (более 250 файлов). Sabih

Смежные вопросы