网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
软件 | 删除重复图片的软件 v2.86 |
分类 | 图形图像 |
语言 | 简体中文 |
大小 | 42MB |
版本 | |
下载 | ![]() |
介绍 | 删除重复图片的软件 v2.86 万里无云颜以少胜多色多(五颜六色)46. 如果黑板是浩淼的大海,那么,老师便是海上的水手。铃声响起那刻,你用教鞭作浆,划动那船只般泊在港口的课本。课桌上,那难题堆放,犹如暗礁一样布列,你手势生动如一只飞翔的鸟,在讲台上挥一条优美弧线--船只穿过??天空飘不来一片云,犹如你亮堂堂的心,一派高远。80. I was deeply moved by the young boy, because I know Lei Feng is still living in our hearts.392.横眉冷对千夫指,俯首甘为孺子牛。《自嘲》 喜欢摄影和拍照的朋友们经常会将照片放到电脑上,时间长了,往往会有很多重复的照片,浪费电脑存储空间,想要清理重复照片的话,手动查找非常的麻烦,那么就需要删除重复图片的软件了,软件能够智能扫描电脑指定目录中的重复照片,支持一键删除或手动删除,方便快捷。 作者说明 今天闲来无事整理素材,发现有许多重复的图片,由于数量太多无法手动翻阅删除,想想写个代码,分析了一下重复图片有些是同名的,有些内容重复不同名,返回文件名清理放弃,图片大小也放弃放弃,后来选用计算MD5的方式清除,然后先是使用os.listdir()函数遍历文件夹下的图片,在测试过程中,如果文件夹下还包含文件夹就会引发异常,后来决定用os.walk()函数来遍历; 源码注释写的比较清晰,就不多阐述,可根据自己需要封装函数,制作成死循环,添加退出条件,复用。 ![]() 代码一览 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][#0000FF41. 无论世界怎么变,无论你的心还在不在,我都要告诉你:我依然爱你,你永远都是我心中最大的眷恋。] @@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@@ @@@ @@! @@! @@@ @@! @@@ @@! @@@ @@! @@@ @@! @@! @@@ @@! @@@ @@! @@! @@!@!@@@ !@! !@! @!@ !@! @!@ !@! @!@ !@! @!@ !@! !@! @!@ !@! @!@ !@! !@! !@!!@!@! @!!!:! @!@ !@! @!@!@!@! @!@ !@! @!@!@!@! @!! @!@ !@! @!@ !@! !!@ !!@ @!@ !!@! !!!!!: !@! !!! !!!@!!!! !@! !!! !!!@!!!! !!! !@! !!! !@! !!! !!! !!! !@! !!! !!: !!: !!! !!: !!! !!: !!! !!: !!! !!: !!: !!! !!: !!! !!: !!: !!: !!! :!: :!: !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:! !!: :!: :!: :!: !:! :: ::::: :: :: ::: ::::: :: :: ::: :: :::: ::::: :: ::::: :: ::: : :: :: :: :: : : : : : : : : : : : : : : :: : : : : : : : : : ::: : :: : [/#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中运行可删除; 喜欢小编为您带来的删除重复图片的软件吗?希望可以帮到您~更多软件下载尽在101bt软件下载网。 江南自是离愁苦,况游骢古道,归雁平沙。怎得银笺,殷勤说与年华。如今处处生芳草,纵凭高、不见天涯。更消他,几度东风,几度飞花。念天地之悠悠,独怆然而涕下!删除重复图片的软件Although the popular belief is that…, a current (new / recent) study (survey / poll / investigation) indicates (shows / demonstrates) that… |
截图 | |
随便看 |
|
霍普软件下载网-旗舰软件下载站,将绿色免费商业版破解软件、共享软件、游戏、电影、电视剧一网打尽!