3

我正在尝试使用 python 从 DLL 中提取一些版本信息。我读了这个问题: Python windows File Version attribute

这很有帮助,但我还需要从 DLL 中获取“程序集版本”。当我右键单击并查看版本选项卡时,它就在那里,但不确定如何使用 python 提取它。

在这个页面上: http: //timgolden.me.uk/python/win32_how_do_i/get_dll_version.html

蒂姆金 说:

您可以使用 pywin32 附带的演示中稍微杂乱的语言相关代码来查找其下方框中的字符串。

有人可以指出可能有用的示例吗?我查看了 win32api 目录,但没有什么明显的。我会在那里找到解决方案吗?

4

2 回答 2

4

如果不想引入对 Python.Net 的依赖,也可以直接使用 win32 api:

from win32api import GetFileVersionInfo, LOWORD, HIWORD

def get_version_number (filename):
   info = GetFileVersionInfo (filename, "\\")
   ms = info['FileVersionMS']
   ls = info['FileVersionLS']
   return HIWORD (ms), LOWORD (ms), HIWORD (ls), LOWORD (ls)

来源:http ://timgolden.me.uk/python/win32_how_do_i/get_dll_version.html

于 2018-05-15T09:47:52.513 回答
3

我不确定您是否可以通过使用本机代码来获取此信息。获取程序集信息的常用方法是运行.Net 代码(例如C#)。所以我猜为了能够从 python 做同样的事情,你需要运行一些 .Net python 解释器。参见例如http://pythonnet.github.io/

于 2011-06-24T15:32:35.563 回答