У меня большой двоичный файл из 32-разрядных чисел с плавающей точкой ieee.
В питоне я использую:
f = file.read(4)
while f !='':
if len(f) == 4:
data =struct.unpack('>f', f)
print data
f = file.read(4)
для чтения 4 байта за раз
Однако иногда f будет размером 1, а struct.unpack будет жаловаться, что его входные данные должны быть строкой размера 4.
Размер файла делится на 4, и это происходит несколько раз внутри файла.
Что может быть причиной этого?