Python говорит, что мне нужен 4 байта для кода формата "BH":
struct.error: unpack requires a string argument of length 4
Вот код, я помещаю 3 байта, как мне кажется, нужно:
major, minor = struct.unpack("BH", self.fp.read(3))
"B" Unsigned char (1 байт) + "H" Беззнаковый короткий (2 байта) = 3 байта (!?)
struct.calcsize( "BH" ) говорит 4 байта.
EDIT: файл составляет ~ 800 МБ, и это находится в первых байтах файла, поэтому я уверен, что данные будут оставлены для чтения.