python获取Linux下文件版本信息、公司名和产品名的方法

yipeiwu_com7年前Python基础

本文实例讲述了python获取Linux下文件版本信息、公司名和产品名的方法,分享给大家供大家参考。具体如下:

区别于前文所述。本例是在linux下得到文件版本信息,主要是通过pefile模块解析文件 中的字符串得到的。代码如下:

  def _get_company_and_product(self, file_path): 
    """ 
    Read all properties of the given file return them as a dictionary. 
    @return: a tumple, (company, product) 
    """ 
    mype = pefile.PE(file_path) 
    companyName = "" 
    productName = "" 
      
    if hasattr(mype, 'VS_VERSIONINFO'): 
      if hasattr(mype, 'FileInfo'): 
        for entry in mype.FileInfo: 
          if hasattr(entry, 'StringTable'): 
            for st in entry.StringTable: 
              for k, v in st.entries.items(): 
                if k == u"CompanyName": 
                  companyName = v 
                elif k == u"ProductName": 
                  productName = v 
    if not companyName: 
      companyName = None 
    if not productName: 
      productName = None 
    return (companyName, productName) 

这里我们只要了公司名称信息和产品名称信息。至于版本号之类的信息也是在字符串资源中。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

用Python实现将一张图片分成9宫格的示例

用Python实现将一张图片分成9宫格的示例

经常看到朋友圈或者空间里有朋友发布照片时,将朋友圈的照片切分为九宫格,参考了一些大神的博客资料,现整理如下; 将图片分拆成九宫格的思路: 读取图片->填充图片为正方形(fill_i...

Django RBAC权限管理设计过程详解

Django RBAC权限管理设计过程详解

一.权限简介 1. 问:为什么程序需要权限控制? 答:生活中的权限限制,① 看灾难片电影《2012》中富人和权贵有权登上诺亚方舟,穷苦老百姓只有等着灾难的来临;② 屌丝们,有没有想过为...

Python2.x和3.x下maketrans与translate函数使用上的不同

maketrans和translate函数是进行字符串字符编码的常用方法。本文着重点在于演示其基本用法和在不同版本下操作的差异。本文提到的2.X版本指2.6以上的版本,3.X版本指3.1...

Python 备份程序代码实现

Python的一个备份程序 这是一个备份脚本。路径请自行更换。 这是一个备份脚本,按照当前日期分目录,以时间作为文件名,并且可以在文件名加入备注信息. 以zip方式作为压缩方式, 有特...

python中将zip压缩包转为gz.tar的方法

由于同事电脑上没有直接可以压缩gz.tar格式的压缩软件,而工作中这个又时常需要将zip文件转换为gz.tar格式,所以常常将压缩为zip格式的文件发给我来重新压缩成gz.tar格式发给...