4
Written by Alexander Belchenko, 2006
9
import pywintypes # from pywin32 (http://pywin32.sf.net)
10
import win32api # from pywin32 (http://pywin32.sf.net)
13
__all__ = ['get_file_version', 'FileNotFound', 'VersionNotAvailable']
14
__docformat__ = "restructuredtext"
17
class FileNotFound(Exception):
20
class VersionNotAvailable(Exception):
24
def get_file_version(filename):
25
"""Get file version (windows properties)
26
:param filename: path to file
27
:return: 4-tuple with 4 version numbers
29
if not os.path.isfile(filename):
33
version_info = win32api.GetFileVersionInfo(filename, '\\')
34
except pywintypes.error:
35
raise VersionNotAvailable
37
return (divmod(version_info['FileVersionMS'], 65536) +
38
divmod(version_info['FileVersionLS'], 65536))