Как прочитать заголовки файлов в Python, подобном C?

Я плохо знаком с Python. Я - программист C по профессии. У меня есть файл, заголовок которого имеет некоторые определенные данные, которые я должен извлечь. Например, Байт 0-5 имеет волшебство, Байт 6-8 сместил и т.д.

В C (пример):

struct {  
   int32_t payload_offset,  
   int32_t len,  
   char *magic,  
   int32_t type  
   int32_t header_size  
} file_hdr;  

Затем в моей функции, я делаю следующее:

file_hdr *hdr;
ptr = &hdr;
fd = open(path_to_file, "r");
num_read =  read(fd, ptr, bytes). 

Затем я могу получить доступ к данным заголовка как этот ptr-> тип, ptr-> волшебство и т.д.

Как я достигаю подобного эффекта в Python? Так как переменные Python не имеют типов, что лучший способ состоит в том, чтобы получить доступ к данным заголовка файла?

Я должен использовать данные заголовка для того, чтобы принять некоторые решения.

Заранее спасибо.

5
задан 18 January 2010 в 11:01
поделиться

2 ответа

Одним из способов использования структуры Python Module, Docs здесь .
Другой вариант, если вам нужно что-то более мощное, состоит в том, чтобы использовать потрясающую библиотеку , которая может сделать вышеупомянутое и многое другое.

6
ответ дан 14 December 2019 в 01:08
поделиться

Вы, вероятно, должны использовать довольно последние последние Windows Windows Foundation (WDF) Framework вместо более старых WDM Framework. Хорошая отправная точка читает Обзор WDF Word Word Documents .

Если вы хотите прочитать книгу, «Развивающие драйверы с помощью фонда водителя Windows» - это тот, который вы ищете.

-121--2160881-

Обычно это делается с использованием модуля структуры в Python. Это позволяет извлекать значения из упакованных двоичных представлений, приводимые в действие строками спецификации формата.

Вы загрузите данные в использовании двоичного ввода / вывода в строку, затем распакуйте его с помощью struct.unpack ().

3
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: