1

我正在使用 struct.unpack() 读取多个不同长度的数据文件。它适用于大约 200MB 的文件,但当文件大小超过 200MB 时,在 struct.unpack() 中会出现 MemoryError。http://bugs.python.org/issue14596上的相关讨论提到 struct.unpack() 对于相同长度的数据文件工作正常,如果数据文件的长度不同,它会产生内存泄漏。我进一步测试了多个相同大小的文件,这些文件累积到 2GB,它工作正常。

那么,使用 struct.unpack() 读取多个不同长度的文件的解决方案是什么?

谢谢-Sabih

4

1 回答 1

1

现在问题已经解决了。不是使用 struct.unpack() 读取多个不同长度的数据文件,而是发现 numpy.fromfile() 更快,并且不再存在数据长度不同的多个文件的问题。因此,建议使用 numpy.fromfile() 读取具有不同数据长度的多个文件。我已经测试了大约 2GB(>250 个文件)。萨比

于 2014-10-28T07:59:44.430 回答