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中的列表知识点汇总
Apr 14 Python
详细解析Python当中的数据类型和变量
Apr 25 Python
Python基于有道实现英汉字典功能
Jul 25 Python
python使用xslt提取网页数据的方法
Feb 23 Python
python使用mysql的两种使用方式
Mar 07 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
解决PyCharm import torch包失败的问题
Oct 13 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
python 中不同包 类 方法 之间的调用详解
Mar 09 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 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
phpmyadmin操作流程
2006/10/09 PHP
php&java(三)
2006/10/09 PHP
php 全文搜索和替换的实现代码
2008/07/29 PHP
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
PHP父类调用子类方法的代码例子
2014/04/09 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
原生php实现excel文件读写的方法分析
2018/04/25 PHP
js获取height和width的方法说明
2013/01/06 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python中enumerate的用法实例解析
2014/08/18 Python
你应该知道的python列表去重方法
2017/01/17 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
html5 div布局与table布局详解
2016/11/16 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
内部类的定义、种类以及优点
2013/10/16 面试题
总经理秘书工作职责
2013/12/26 职场文书
保护环境演讲稿
2014/05/10 职场文书
大学生助学金感谢信
2015/01/21 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技