我需要从 Python 导入一个二进制文件——内容是有符号的 16 位整数,大端字节序。
以下堆栈溢出问题建议如何一次提取多个字节,但这是否是扩展以读取整个文件的方法?
我想创建一个类似的函数:
from numpy import *
import os
def readmyfile(filename, bytes=2, endian='>h'):
totalBytes = os.path.getsize(filename)
values = empty(totalBytes/bytes)
with open(filename, 'rb') as f:
for i in range(len(values)):
values[i] = struct.unpack(endian, f.read(bytes))[0]
return values
filecontents = readmyfile('filename')
但这是相当慢的(文件是 165924350 字节)。有没有更好的办法?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)