我正在使用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"
。
答案 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文件。