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

yipeiwu_com6年前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判定IP地址合法性的三种方法

IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法。 IPv4的ip地址格式:(1~2...

pyqt5 删除layout中的所有widget方法

如下所示: >>> for i in range(self.gridLayout.count()): >>> self.gridLayout.i...

python中for语句简单遍历数据的方法

本文实例讲述了python中for语句简单遍历数据的方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:for name in ["kak", "John", "Mani", "...

python2与python3中关于对NaN类型数据的判断和转换方法

python2与python3中关于对NaN类型数据的判断和转换方法

今天在对一堆新数据进行数据清洗的时候,遇到了一个这样的问题: ValueError: cannot convert float NaN to integer 一开始是这样的,我用...

Python 3.x 判断 dict 是否包含某键值的实例讲解

查询资料得 Python 可以使用两种方式判断字典是否包含某键值 1、(dict.has_key('keyname')) 2、('keyname' in dict) 觉得第二种方式太过丑...