Чтение метаданных EXE, MSI и ZIP-файлов в Python в Linux

Я пишу сценарий Python для индексации большого набора установщиков Windows в БД.

Я хотел бы знать, как читать информацию метаданных (компания, название продукта, версия и т. Д.) Из файлов EXE, MSI и ZIP, используя Python, работающий в Linux.

Программного обеспечения

Я использую Python 2.6.5 на 64-битной Ubuntu 10.04 с Django 1.2.1.

Нашли пока:

Утилиты командной строки Windows, которые могут извлекать метаданные EXE (например, filever из SysUtils) или другие отдельные утилиты CL, которые работают только в Windows. Я пробовал запускать их через Wine, но у них есть проблемы, и не стоило потрудиться найти библиотеки и фреймворки, от которых зависят эти утилиты CL, и попытаться установить их в Wine / Crossover.

Модули Win32 для Python, которые могут делать некоторые вещи, но не работают в Linux (верно?)

Вторичный вопрос:

Очевидно, что изменение метаданных файла изменит хэш-сумму файла MD5. Существует ли общий метод хеширования файла, независимого от метаданных, помимо его нахождения и считывания (например, пропуская первые 1024 байта?)

Это мой первый пост в StackOverflow. Начиная с моей последней работы в качестве нового разработчика Python, я был невероятно впечатлен Stackoverflow, и он неизменно появлялся в верхней части поисков Google по моим запросам Python / Django и имеет высококачественные ответы. Слава этому сообществу.

Ответы на вопрос(4)

Ваш ответ на вопрос