Я действительно пытался найти это сомнение во многих отношениях, но, возможно, так как я никогда не работал с двоичными файлами, прежде чем я понятия не имею, какие ключевые слова для поиска похожих вещей, чтобы помочь мне. Вот почему я спрашиваю здесь.
Итак, у меня есть файл:
path = 'myPath/file.pd0'
in_file = open(path, "rb")
read_file = in_file.read()
type(read_file)
когда я пытаюсь проверить, что находится внутри read_file, я получаю:
b'\x7f\x7f\xcc\x05\x00\x0f$\x00`\x00\xa2\x00$\x02\xe6\x02\xa8\x03\xd0\x032\x04d\x04\x96\x04\xa6\x04\xe0\x04'
Тип файла read_file - байты. Когда я пытаюсь использовать struct, так как это функция, которую люди предлагают, я получаю следующую ошибку:
import struct
struct.unpack('hhl', read_file[0:30])
error: unpack requires a buffer of 16 bytes
Независимо от того, что я получаю, распаковка требует буфера из n байтов.
Файловая структура, которую я пытаюсь прочитать, определяется следующим образом:
HEADER
(6 БАЙТОВ + [2 ТИПА ДАННЫХ №])
ФИКСИРОВАННЫЕ ЛИДЕРНЫЕ ДАННЫЕ
(60 байт)
ПЕРЕМЕННЫЕ ЛИДЕРНЫЕ ДАННЫЕ
(66 байт)
КОРРЕЛЯЦИОННОЕ МАГНИТУ
(2 байта + 4 байта за ячейку глубины)
Есть идеи, как мне начать читать эти байты, используя struct или что-то подобное в python?
Спасибо