python获取文件版本信息、公司名和产品名的方法


Posted in Python onOctober 05, 2014

本文实例讲述了python获取文件版本信息、公司名和产品名的方法,分享给大家供大家参考。具体如下:

该python代码可得到文件版本信息、公司名和产品名。其他的信息都在返回的字典中。具体代码如下:

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"])

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python文件与文件夹常见基本操作总结
Sep 19 Python
详解Python多线程
Nov 14 Python
numpy中索引和切片详解
Dec 15 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
python3对接mysql数据库实例详解
Apr 30 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
python实现处理mysql结果输出方式
Apr 09 Python
pandas的resample重采样的使用
Apr 24 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
python字符串的多行输出的实例详解
Jun 08 Python
python实现调用其他python脚本的方法
Oct 05 #Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 #Python
跟老齐学Python之关于循环的小伎俩
Oct 02 #Python
跟老齐学Python之for循环语句
Oct 02 #Python
跟老齐学Python之用while来循环
Oct 02 #Python
跟老齐学Python之复习if语句
Oct 02 #Python
python中pycurl库的用法实例
Sep 30 #Python
You might like
常用PHP数组排序函数归纳
2016/08/08 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
JavaScript的面向对象(二)
2006/11/09 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
js实现抽奖效果
2017/03/27 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
Python基于Faker假数据构造库
2020/11/30 Python
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
企业安全生产标语
2014/06/06 职场文书
软件项目经理岗位职责
2015/04/01 职场文书
鸦片战争观后感
2015/06/09 职场文书