项目需求:

批量压缩图片用于h5游戏,随时会添加新的图片,也有可能会替换一些旧图,执行批量压缩脚本时,不要再去压缩已经压缩过的图片

解决思路:

压缩过的图片,使用python md5转换,记录一下这个md5的数值,保存在本地,再之后执行压缩脚本的时候,先到该本地文件查看对应的文件名是否存在,如果存在,取出上次记录的md5数值,和本次需要压缩的图片md5数值进行对比,如果md5数值相同,则跳过该图

python 图片 md5代码如下:

import hashlib
from PIL import Image
import numpy as np
import os
import os.path

PathWorkspaceRoot = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
img=PathWorkspaceRoot+"\_pngcompress\common.png"
fd = np.array(Image.open(img))
fmd5 = hashlib.md5(fd)
print("md5="+fmd5.hexdigest())