pywin32:GetFileVersionInfo返回1812

时间:2018-04-28 09:18:02

标签: python windows pywin32

我正在使用pyWin32模块:

import win32api
from win32api import GetFileVersionInfo, LOWORD, HIWORD


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


if __name__ == '__main__':
   print(get_version_number ("./aa.txt"))

错误:

Traceback (most recent call last):
  File ".\file_filter.py", line 70, in <module>
    print(get_version_number ("./aa.txt"))
  File ".\file_filter.py", line 60, in get_version_number
    info = win32api.GetFileVersionInfo(filename,"\\")
pywintypes.error: (1812, 'GetFileVersionInfo:GetFileVersionInfoSize', ...)

我收到上述错误。但是它适用于以下文件:"./python.exe"

1 个答案:

答案 0 :(得分:1)

摘自此参考文献:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms647003(v=vs.85).aspx

  

GetFileVersionInfo正在从二进制文件(exe / dll)获取版本信息。目前,它从语言中性文件(exe / dll)查询固定版本,从mui文件查询非固定部分,合并它们并返回给用户。

GetFileVersionInfo唯一可用的文件类型是* .exe或* .dll。但是你要查询* .txt文件。