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中使用mongoengine操作MongoDB教程
Apr 24 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
python读取文本中的坐标方法
Oct 14 Python
python得到单词模式的示例
Oct 15 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
Python字符串逆序输出的实例讲解
Feb 16 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
Aug 12 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
Dec 09 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
Python selenium爬取微博数据代码实例
May 22 Python
python爬虫可以爬什么
Jun 16 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
关于页面优化和伪静态
2009/10/11 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
PHP goto语句用法实例
2019/08/06 PHP
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
vuejs事件中心管理组件间的通信详解
2017/08/09 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
微信小程序左滑删除功能开发案例详解
2018/11/12 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
竞选班长演讲稿
2013/12/30 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
幼儿园门卫制度
2014/01/29 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
mysql 排序失效
2022/05/20 MySQL