Читать в двоичных данных с помощью Python

Я очень плохо знаком с Python и пытаюсь прочитать файл, который частично содержит двоичные данные. Существует заголовок с некоторой информацией о данных, и после заголовка следуют двоичные данные. Если открыть файл в текстовом редакторе, он выглядит так:

>>> Begin of header <<<
value1: 5
value2: 7
...
value65: 9
>>> End of header <<<
���ÄI›C¿���†¨¨v@���ÄW]c¿��� U⁄z@���@¬P\¿����∂:q@���@Ò˚U¿���†÷Us@���`ªw4¿��� :‘m@���@À›9@���ÄAs@���¿‹ ¿����ır@���¿@&%@���†„bq@����*˙-@��� [q@����ÚN8@����
Òo@���@√·T@���†‰zm@����9\@����ÃÜq@����€dZ@���`Ëäs@���†∏8I@���¿¬Ot@���†�6

дополнительная проблема заключается в том, что я не создал файл сам и не делаю это сейчас, если это двойные или плавающие данные.

Итак, как я могу интерпретировать эти данные?

1 ответ

Решение

Итак, во-первых, спасибо всем за помощь: так что в основном проблема заключается в заголовке. Я могу читать в данных выйти хорошо, когда я удаляю заголовок из файла. Это может быть сделано с

x = numpy.fromfile(f, dtype = numpy.complex128, count = -1)

довольно легко. Проблема в том, что я не могу найти ни одной опции для функции fromfile, которая пропускает строки (можно пропустить байты, но размер заголовка может отличаться от файла к файлу.

В этой замечательной теме я узнал, как преобразовать двоичный массив в массив numpy:

преобразовать двоичную строку в массив NumPy

С этим я мог бы преодолеть проблему, прочитав строку файла данных для строки, а затем объединить каждую строку после строки заголовка конца вместе в одну строку. Затем эта строка была преобразована в хороший массив именно так, как я хотел.

Другие вопросы по тегам