Извлечение версии сборки из DLL с использованием Python - PullRequest
3 голосов
/ 24 июня 2011

Я пытаюсь извлечь некоторую информацию о версии из DLL, используя python.Я прочитал этот вопрос: Атрибут версии файла Windows Python

Это было полезно, но мне также нужно получить версию сборки из DLL.Это там, когда я щелкаю правой кнопкой мыши и просматриваю вкладку версий, но не уверен, как извлечь это с помощью python.

На этой странице: http://timgolden.me.uk/python/win32_how_do_i/get_dll_version.html

Тим Голден говорит:

Вы можете использовать немного более грязный, зависимый от языка код в демонстрационных программах, которые поставляются с pywin32, чтобы найти строки в поле под ним.

Может кто-нибудь указать мне на пример, которыйможет быть полезным?Я посмотрел в каталогах win32api, но нет ничего очевидного.Я бы нашел там решение?

Ответы [ 2 ]

3 голосов
/ 24 июня 2011

Я не уверен, что вы можете получить эту информацию, используя собственный код.Обычный способ получения информации о сборке - запуск кода .Net (например, C #).Так что я предполагаю, что для того, чтобы сделать то же самое с python, вам нужно запустить некоторый интерпретатор python .Net.См. Например http://pythonnet.github.io/

1 голос
/ 15 мая 2018

Если вы не хотите вводить зависимость от Python.Net, вы также можете напрямую использовать API Win32:

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

...