gpt4 book ai didi

python - 在 Linux 中用 Python 读取 EXE、MSI 和 ZIP 文件元数据

转载 作者:太空狗 更新时间:2023-10-29 21:41:10 25 4
gpt4 key购买 nike

我正在编写一个 Python 脚本来将大量 Windows 安装程序索引到数据库中。

我想知道如何使用在 Linux 上运行的 Python 从 EXE、MSI 和 ZIP 文件中读取元数据信息(公司、产品名称、版本等)。

软件

我在带有 Django 1.2.1 的 Ubuntu 10.04 64 位上使用 Python 2.6.5。

目前发现:

可以提取 EXE 元数据的 Windows 命令行实用程序(如来自 SysUtils 的文件服务器),或其他仅在 Windows 中工作的单独 CL 实用程序。我已经尝试通过 Wine 运行它们,但它们有问题,并且不值得去寻找这些 CL 实用程序所依赖的库和框架,并尝试将它们安装在 Wine/Crossover 中。

Python 的 Win32 模块可以做一些事情但不能在 Linux 中运行(对吗?)

次要问题:

显然,更改文件的元数据会更改文件的 MD5 哈希值。除了定位文件并读入它之外,是否有一种独立于元数据的散列文件的通用方法(例如:像跳过前 1024 个字节?)

最佳答案

看看这个图书馆:http://bitbucket.org/haypo/hachoir/wiki/Home和这个使用库的示例程序:http://pypi.python.org/pypi/hachoir-metadata/1.3.3 .第二个链接是一个示例程序,它使用 Hachoir 二进制文件操作库(第一个链接)来解析元数据。

库可以处理这些格式:

  • 文件:bzip2、gzip、zip、tar
  • 音频:MPEG 音频(“MP3”)、WAV、Sun/NeXT 音频、Ogg/Vorbis (OGG)、MIDI、AIFF、AIFC、真实音频 (RA)
  • 图片:BMP、CUR、EMF、ICO、GIF、JPEG、PCX、PNG、TGA、TIFF、WMF、XCF
  • 杂项:激流
  • 程序:EXE
  • 视频:ASF 格式(WMV 视频)、AVI、Matroska (MKV)、Quicktime (MOV)、Ogg/Theora、Real 媒体 (RM)

此外,Hachoir 可以执行一些文件操作操作,我认为这些操作包括一些原始元数据操作。

关于python - 在 Linux 中用 Python 读取 EXE、MSI 和 ZIP 文件元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com