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 12 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 Python
python字符串常用方法
Jun 14 Python
Python返回数组/List长度的实例
Jun 23 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
解决jupyter notebook import error但是命令提示符import正常的问题
Apr 15 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 Python
如何用python绘制雷达图
Apr 24 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和ACCESS写聊天室(十)
2006/10/09 PHP
php MessagePack介绍
2013/10/06 PHP
php制作动态随机验证码
2015/02/12 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
使用正则替换变量
2007/05/05 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
国际书籍零售商:Wordery
2017/11/01 全球购物
数控技术应用个人求职信范文
2014/02/03 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
超市主管竞聘书
2015/09/15 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS