最新公告
  • 欢迎您光临小酒资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 【python】删除重复图片

    【python】删除重复图片 最后编辑:2020-10-19
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    今天闲来无事整理素材,发现有许多重复的图片,由于数量太多无法手动翻阅删除,想想写个代码,分析了一下重复图片有些是同名的,有些内容重复不同名,返回文件名清理放弃,图片大小也放弃放弃,后来选用计算MD5的方式清除,然后先是使用os.listdir()函数遍历文件夹下的图片,在测试过程中,如果文件夹下还包含文件夹就会引发异常,后来决定用os.walk()函数来遍历;

    源码注释写的比较清晰,就不多阐述,可根据自己需要封装函数,制作成死循环,添加退出条件,复用;
    部分源码展示
    [Python] 纯文本查看 复制代码try:
    file = os.walk(path) # 递归遍历目录;
    except FileNotFoundError: # 捕获路径不存在异常;
    print(\’抱歉,没有这个路径!\’)
    else:
    temp = set() # 创建临时集合;
    del_count = 0 # 删除图片计数;
    pass_count = 0 # 非图片计数;
    file_count = 0 # 总文件计数;
    time1 = time()
    for path_name, dir_name, file_name in file: # 遍历walk返回3个元素;
    for n in file_name: # 获得每个文件名字;
    full_path = os.path.join(path_name, n) # 拼接路径和文件名,获得文件完整路径;
    file_count += 1 # 文件计数+1;
    print(full_path)
    try:
    with Image.open(full_path) as t: # 打开图片;
    array = np.array(t) # 转为数组;
    except (UnidentifiedImageError,DecompressionBombError): # 捕获不是图片,像素炸弹异常;
    pass_count += 1 # 非图片计数+1;
    pass
    else:
    md5 = hashlib.md5() # 创建MD5对象;
    md5.update(array) # 获取当前图片MD5;
    if md5.hexdigest() not in temp: # 如果哈希值没有在集合中;
    temp.add(md5.hexdigest()) # 就把哈希值添加到集合中;
    else:
    os.remove(full_path) # 如果在集合中就删除当前图片;
    print(full_path+\’——————已删除\’)
    del_count += 1 # 删除计数+1

    编译好的可执行EXE文件
    链接:https://pan.baidu.com/s/18-ekvN40GT4Ezek29oaHXA
    提取码:77vf

    猜你喜欢

    猜你在找

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台
    • 2020-10-19Hi,初次和大家见面了,请多关照!

    Hi, 如果你对这文章有疑问,可以跟我联系哦!

    联系作者
    • 975会员总数(位)
    • 3235资源总数(个)
    • 647本周发布(个)
    • 0 今日发布(个)
    • 245稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
  • 2020 XiaoJiu8.cn - & WordPress Theme. All rights reserved 黔ICP备17003460号-5 黔ICP备17003460号-5

  • XML地图 | 站长导航