图像管理

首页 > 图形图像 > 图像管理

7很不错

删除重复图片的软件

软件下载软件下载

软件截图

  • 【介绍】

    删除重复图片的软件和应用商店里的各种图片清理应用都不太同,它的开发是基于Python自动脚本来实现的,使用的时候需要对这个程序添加相应的指令才会自动在后台清除,建议用户在使用的时候先提前整理好电脑中的图片文件夹,专挑重要的先转移,后面操作起来就方便了,可以一键删除,你的电脑也能腾出大量的空间。

    删除重复图片作者说明

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

    源码注释写的比较清晰,就不多阐述,可根据自己需要封装函数,制作成死循环,添加退出条件,复用。

    Python代码一览

    import os,hashlib

    import numpy as np

    from PIL import Image,UnidentifiedImageError

    from PIL.Image import DecompressionBombError

    from rich import print

    from time import time

    print("""[#00CED1]待清理的文件夹内如果还包含了文件夹也同样可以清理![/#00CED1][#0000FF]

    @@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@

    @@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@@ @@@

    @@! @@! @@@ @@! @@@ @@! @@@ @@! @@@ @@! @@! @@@ @@! @@@ @@! @@! @@!@!@@@

    !@! !@! @!@ !@! @!@ !@! @!@ !@! @!@ !@! !@! @!@ !@! @!@ !@! !@! !@!!@!@!

    @!!!:! @!@ !@! @!@!@!@! @!@ !@! @!@!@!@! @!! @!@ !@! @!@ !@! !!@ !!@ @!@ !!@!

    !!!!!: !@! !!! !!!@!!!! !@! !!! !!!@!!!! !!! !@! !!! !@! !!! !!! !!! !@! !!!

    !!: !!: !!! !!: !!! !!: !!! !!: !!! !!: !!: !!! !!: !!! !!: !!: !!: !!!

    :!: :!: !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:! !!: :!: :!: :!: !:!

    :: ::::: :: :: ::: ::::: :: :: ::: :: :::: ::::: :: ::::: :: ::: : :: :: :: ::

    : : : : : : : : : : : : : : :: : : : : : : : : : ::: : :: :

    [/#0000FF] [#00CED1]待清理的文件夹内还包含文件夹也可清理![/#00CED1]""")

    path = input(r"输入图片文件夹路径,例如 D:\python upian:")

    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;

    time2 = time()

    time3 = time2-time1

    if pass_count != 0:

    print('[#7CFC00]非图片数据:[/#7CFC00][#800000]{0}[/#800000] 个.'.format(pass_count))

    print('[#800080]一共读取图片:[/#800080][#800000]{0}[/#800000] 张.'.format(file_count - pass_count))

    print('[#3CB371]删除重复图片:[/#3CB371][#800000]{0}[/#800000] 张.'.format(del_count))

    print('[#0000FF]总耗时为:[/#0000FF][#800000]{:.4f}[/#800000] 秒.'.format(time3))

    input('按任意键结束!!!') # 此条为了编译成EXE或在命令行运行脚本时能看见上面统计后数据所添加,如果在IDE中运行可删除;

    exit() # 如果在IDE中运行可删除;

    以上就是软件爱好者小编今日为大家带来的删除重复图片的软件,更多软件下载尽在软件爱好者

    查看

    相关下载

    下载

    好玩游戏大全9.8

    一款为玩家带来最独特游戏合集的应用

    图片处理神器软件会为用户们提供极为便捷高效的图片处理体验,提供了非常多实用的图片处理工具,操作简单便捷,轻轻松松就可以制作出需要的图片,在这里游戏爱好者小编给大家整理了一份《图片处理神器APP合集》,为小伙伴们提供极为实用的图片处理神器APP软件以及最优质的服务。

    软件资讯

    想不到鸭仙女下凡帮助仙女找出偷衣服的人怎么通关

    想不到鸭的仙女下凡帮助仙女找出偷衣服的人关卡再次考验着玩家的解谜能力。这一关不仅考验你的观察力和逻辑思维,更要求你具备出色的空间感和判断力。只有当你真正掌握了关卡的精髓,才能轻松应对各种难题,成功通关。想不到鸭仙女下凡帮助仙女找出偷衣服的人怎么通关仙女下凡目标:帮助仙女找出偷衣服的人1、仙女下凡帮助仙女找出偷衣服的人这一关点击后面藏着的两个人2、拖动柠檬给牛3、向左滑动左边的草丛4、拖动火把到谷仓

    2024-04-18 【手游攻略】
    点击查看更多>>