【发布时间】:2020-02-01 04:51:40
【问题描述】:
我需要在 Python 3.6 中读取一个简单但很大 (500MB) 的二进制文件。该文件由 C 程序创建,包含 64 位双精度数据。我尝试使用 struct.unpack ,但对于大文件来说这非常慢。
这是我读取的简单文件:
def ReadBinary():
fileName = 'C:\\File_Data\\LargeDataFile.bin'
with open(fileName, mode='rb') as file:
fileContent = file.read()
现在我有了文件内容。将其解码为 64 位双精度浮点或无需进行格式转换即可读取的最快方法是什么?
如果可能,我想避免分块读取文件。我想像 C 一样一次读取它解码的内容。
【问题讨论】:
-
也许你可以使用
mmap?在此处查看接受的答案stackoverflow.com/a/30022899/10035985
标签: python python-3.x