3

Pythonを使用してDLLからバージョン情報を抽出しようとしています。私はこの質問を読みました: Python Windows ファイル バージョン属性

参考になりましたが、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 に答える