python实现计算资源图标crc值的方法

yipeiwu_com7年前Python基础

本文实例讲述了python实现计算资源图标crc值的方法,分享给大家供大家参考。具体方法如下:

实现该功能的关键在于解析资源信息,找到icon的数据,然后计算这些数据的crc

具体实现代码如下:

  def _get_iconcrc(self, file_path): 
    """ 
    Generates the crc32 hash of the icon of the file. 
    @return: str, the str value of the file's icon 
    """ 
    iconData = "" 
 
    mype = pefile.PE(file_path) 
    if hasattr(mype, "DIRECTORY_ENTRY_RESOURCE"): 
      resIcons = filter(lambda x: x.id==pefile.RESOURCE_TYPE['RT_ICON'], mype.DIRECTORY_ENTRY_RESOURCE.entries) 
      if len(resIcons)>0: 
        resIcons = resIcons[0] 
        if hasattr(resIcons, "directory"): 
          for resId in resIcons.directory.entries: 
            if hasattr(resId, 'directory'): 
              for resLang in resId.directory.entries: 
                iconData += mype.get_data(resLang.data.struct.OffsetToData, resLang.data.struct.Size) 
     
    if not iconData: 
      print "not iconData" 
      return None 
    else: 
      return self._crc32(iconData) 

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

相关文章

TensorFlow实现打印每一层的输出

在test.py中可以通过如下代码直接生成带weight的pb文件,也可以通过tf官方的freeze_graph.py将ckpt转为pb文件。 constant_graph = gr...

python从入门到精通(DAY 1)

python从入门到精通(DAY 1)

1、要点    (1) 在C语言中没有字符串,只有字符,    在python中的字符串hello,在C语言中是以字符数组在内存存放['h','e...

Win10 安装PyCharm2019.1.1(图文教程)

Win10 安装PyCharm2019.1.1(图文教程)

使用Python进行开发时,已经安装好Python,我们可以在终端使用Python,也可以用文本编辑器编写代码后然后用Python执行代码,但这些都不是很方便,也不是很智能和不够友好,需...

python计算两个数的百分比方法

工作中遇到了要计算两个数百分比的问题,python 2.7 环境。 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python...

python3+PyQt5实现自定义流体混合窗口部件

python3+PyQt5实现自定义流体混合窗口部件

本文通过Python3+PyQt5实现自定义部件–流体混合窗口部件。通过逻辑(窗口)坐标绘制而成。调用setWindow,所有的绘制工作都会根据逻辑坐标系发生。 #!/usr/bin...