本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:python概率计算器实例分析Python计算回文数的方法python益智游戏计算汉诺塔问题示例python根据经纬度计算距离示例python实现根据月份和日期得到星座的方法python根据出生日期返回年龄的方法python使用PythonMagick将jpg图片转换成ico图片的方法python根据出生年份简单计算生肖的方法