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使用pygame模块编写俄罗斯方块游戏的代码实例
Dec 08 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
Python post请求实现代码实例
Feb 28 Python
python游戏开发的五个案例分享
Mar 09 Python
python+opencv实现移动侦测(帧差法)
Mar 20 Python
jupyter notebook的安装与使用详解
May 18 Python
Python 实现敏感目录扫描的示例代码
May 21 Python
超级实用的8个Python列表技巧
Aug 24 Python
python爬取豆瓣电影TOP250数据
May 23 Python
深入理解pytorch库的dockerfile
Jun 10 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
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
如何判断php数组的维度
2013/06/10 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
php查询内存信息操作示例
2019/05/09 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
Python 必须了解的5种高级特征
2020/09/10 Python
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
兼职学生的自我评价
2013/11/24 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
yy结婚证婚词
2014/01/10 职场文书
赔偿协议书范本
2014/04/15 职场文书
自我推荐信范文
2014/05/09 职场文书
优秀班组申报材料
2014/12/25 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
《打电话》教学反思
2016/02/22 职场文书