This article describes how to obtain file version information, company name, and product name in python. it is a very practical technique in Python programming, for more information about how to obtain file version information, company name, and product name in python, see the following example. The details are as follows:
The python code obtains the file version information, company name, and product name. Other information is included in the returned Dictionary. The code is as follows:
def _getCompanyNameAndProductName(self, file_path): """ Read all properties of the given file return them as a dictionary. """ propNames = ('Comments', 'InternalName', 'ProductName', 'CompanyName', 'LegalCopyright', 'ProductVersion', 'FileDescription', 'LegalTrademarks', 'PrivateBuild', 'FileVersion', 'OriginalFilename', 'SpecialBuild') props = {'FixedFileInfo': None, 'StringFileInfo': None, 'FileVersion': None} try: # backslash as parm returns dictionary of numeric info corresponding to VS_FIXEDFILEINFO struc fixedInfo = win32api.GetFileVersionInfo(file_path, '\\') props['FixedFileInfo'] = fixedInfo props['FileVersion'] = "%d.%d.%d.%d" % (fixedInfo['FileVersionMS'] / 65536, fixedInfo['FileVersionMS'] % 65536, fixedInfo['FileVersionLS'] / 65536, fixedInfo['FileVersionLS'] % 65536) # \VarFileInfo\Translation returns list of available (language, codepage) # pairs that can be used to retreive string info. We are using only the first pair. lang, codepage = win32api.GetFileVersionInfo(file_path, '\\VarFileInfo\\Translation')[0] # any other must be of the form \StringfileInfo\%04X%04X\parm_name, middle # two are language/codepage pair returned from above strInfo = {} for propName in propNames: strInfoPath = u'\\StringFileInfo\\%04X%04X\\%s' % (lang, codepage, propName) ## print str_info strInfo[propName] = win32api.GetFileVersionInfo(file_path, strInfoPath) props['StringFileInfo'] = strInfo except: pass if not props["StringFileInfo"]: return (None, None) else: return (props["StringFileInfo"]["CompanName"], props["StringFileInfo"]["ProductName"])
I hope this article will help you with Python programming.