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 25 Python
Python迭代和迭代器详解
Nov 10 Python
python如何统计序列中元素
Jul 31 Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 Python
Django 日志配置按日期滚动的方法
Jan 31 Python
pandas 层次化索引的实现方法
Jul 06 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
Python中全局变量和局部变量的理解与区别
Feb 07 Python
Python OpenCV 图像平移的实现示例
Jun 04 Python
再谈python_tkinter弹出对话框创建
Mar 20 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开发文件系统实例讲解
2006/10/09 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
javascript实现yield的方法
2013/11/06 Javascript
js Calender控件使用详解
2015/01/05 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
js回调函数仿360开机
2019/12/26 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
python中ConfigParse模块的用法
2014/09/29 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
python代码实现ID3决策树算法
2017/12/20 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python取均匀不重复的随机数方式
2019/11/27 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
本科生职业生涯规划书范文
2014/01/21 职场文书
标准毕业生自荐信
2014/06/24 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书