刪除重復(fù)圖片的app,由論壇大神原創(chuàng)制作的一款由Python編寫(xiě)的刪除重復(fù)圖片程序,能夠一鍵刪除文件中重復(fù)的圖片資源,為您的PC節(jié)省空間,與此同時(shí)整理你的圖庫(kù)。需要能刪除重復(fù)圖片的app的朋友們能夠下載使用,單文件程序,綠色沒(méi)有廣告。
今天閑來(lái)無(wú)事整理素材,發(fā)現(xiàn)有很多重復(fù)的圖片,由于數(shù)量太多無(wú)法手動(dòng)翻閱刪除,想想寫(xiě)個(gè)代碼,解析了一下重復(fù)圖片有些是同名的,有些內(nèi)容重復(fù)不一樣名,返回文件名清理放棄,圖片大小也放棄放棄,后來(lái)選用計(jì)算MD5的方式清除,然后先是使用os.listdir()函數(shù)遍歷文件夾下的圖片,在測(cè)試過(guò)程中,如果文件夾下還包含文件夾就會(huì)引發(fā)異常,后來(lái)決定用os.walk()函數(shù)來(lái)遍歷;
源碼注釋寫(xiě)的比較清晰,就不多闡述,可通過(guò)自己需要封裝函數(shù),制作成死循環(huán),添加退出條件,復(fù)用;
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]待清理的文件夾內(nèi)如果還包含了文件夾也同樣能夠清理![/#00CED1][#0000FF]
@@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@
@@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@@ @@@
@@! @@! @@@ @@! @@@ @@! @@@ @@! @@@ @@! @@! @@@ @@! @@@ @@! @@! @@!@!@@@
!@! !@! @!@ !@! @!@ !@! @!@ !@! @!@ !@! !@! @!@ !@! @!@ !@! !@! !@!!@!@!
@!!!:! @!@ !@! @!@!@!@! @!@ !@! @!@!@!@! @!! @!@ !@! @!@ !@! !!@ !!@ @!@ !!@!
!!!!!: !@! !!! !!!@!!!! !@! !!! !!!@!!!! !!! !@! !!! !@! !!! !!! !!! !@! !!!
!!: !!: !!! !!: !!! !!: !!! !!: !!! !!: !!: !!! !!: !!! !!: !!: !!: !!!
:!: :!: !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:! !!: :!: :!: :!: !:!
:: ::::: :: :: ::: ::::: :: :: ::: :: :::: ::::: :: ::::: :: ::: : :: :: :: ::
: : : : : : : : : : : : : : :: : : : : : : : : : ::: : :: :
[/#0000FF] [#00CED1]待清理的文件夾內(nèi)還包含文件夾也可清理![/#00CED1]""")
path = input(r"輸入圖片文件夾路徑,例如 D:⁄python⁄tupian:")
try:
file = os.walk(path) # 遍歷目錄;
except FileNotFoundError: # 捕獲路徑不存在異常;
print('抱歉,沒(méi)有這個(gè)路徑!')
else:
temp = set() # 創(chuàng)建臨時(shí)集合;
del_count = 0 # 刪除圖片計(jì)數(shù);
pass_count = 0 # 非圖片計(jì)數(shù);
file_count = 0 # 總文件計(jì)數(shù);
time1 = time()
for path_name, dir_name, file_name in file: # 遍歷walk返回3個(gè)元素;
for n in file_name: # 獲取每個(gè)文件名字;
full_path = os.path.join(path_name, n) # 拼接路徑和文件名,獲取文件完整路徑;
file_count += 1 # 文件計(jì)數(shù)+1;
print(full_path)
try:
with Image.open(full_path) as t: # 打開(kāi)圖片;
array = np.array(t) # 轉(zhuǎn)為數(shù)組;
except (UnidentifiedImageError,DecompressionBombError): # 捕獲不是圖片,像素炸彈異常;
pass_count += 1 # 非圖片計(jì)數(shù)+1;
pass
else:
md5 = hashlib.md5() # 創(chuàng)建MD5對(duì)象;
md5.update(array) # 獲得當(dāng)前圖片MD5;
if md5.hexdigest() not in temp: # 如果哈希值沒(méi)有在集合中;
temp.add(md5.hexdigest()) # 就把哈希值添加到集合中;
else:
os.remove(full_path) # 如果在集合中就刪除當(dāng)前圖片;
print(full_path+'------------------已刪除')
del_count += 1 # 刪除計(jì)數(shù)+1;
time2 = time()
time3 = time2-time1
if pass_count != 0:
print('[#7CFC00]非圖片數(shù)據(jù):[/#7CFC00][#800000]{0}[/#800000] 個(gè).'.format(pass_count))
print('[#800080]一共讀取圖片:[/#800080][#800000]{0}[/#800000] 張.'.format(file_count - pass_count))
print('[#3CB371]刪除重復(fù)圖片:[/#3CB371][#800000]{0}[/#800000] 張.'.format(del_count))
print('[#0000FF]總耗時(shí)為:[/#0000FF][#800000]{:.4f}[/#800000] 秒.'.format(time3))
input('按隨意鍵結(jié)束!!!') # 此條為了編譯成EXE或在命令行運(yùn)行腳本時(shí)能看見(jiàn)上面統(tǒng)計(jì)后數(shù)據(jù)所添加,如果在IDE中運(yùn)行可刪除;
exit() # 如果在IDE中運(yùn)行可刪除;
刪除重復(fù)圖片軟件是一款可以幫助大家一次性刪除大量圖片的工具,有需要的用戶趕緊來(lái)下載這款軟件吧,相信一定可以幫到大家。刪除重復(fù)圖片軟件簡(jiǎn)介:刪除重復(fù)圖片(AwesomeDuplicatePhotoFin
刪除文件恢復(fù)大師(ComfyFileRecovery)用于恢復(fù)硬盤(pán)驅(qū)動(dòng)器,記憶卡和USB設(shè)備由于各種原因引起損壞或數(shù)據(jù)刪除后丟失的數(shù)據(jù)的.該方案不需要通過(guò)Windows資源管理器訪問(wèn)被損壞的磁盤(pán).該工
棉花團(tuán)圖像格式轉(zhuǎn)換使用GDIPlus實(shí)現(xiàn)圖像格式轉(zhuǎn)換,支持轉(zhuǎn)換文件、支持內(nèi)存中轉(zhuǎn)換,支持BMP、JPG、GIF、TIFF、PNG格式。使用方法點(diǎn)擊軟件上的打開(kāi)按鈕打開(kāi)一個(gè)圖片。選擇保存路徑,選擇您需要
gif動(dòng)畫(huà)大小修改器(gifresizer)下載,方便修改gif動(dòng)畫(huà)大小的工具,修改gif動(dòng)畫(huà)圖片的尺寸,縮小gif圖片的體積,并能完美保持原來(lái)的原來(lái)的動(dòng)畫(huà)質(zhì)量。載入要修改的GIF動(dòng)畫(huà)圖片,然后修改尺
FastStonePhotoResizer是個(gè)集圖片轉(zhuǎn)換、重新命名、裁切、重新定義圖片大小的免費(fèi)工具。讓你不需要再使用龐大的圖象編輯軟件就能會(huì)圖修做簡(jiǎn)單的轉(zhuǎn)換、裁切、更改尺寸等簡(jiǎn)易功能。當(dāng)然它最主要的
絕區(qū)零尼尼微是游戲中零號(hào)空洞中的高難boss,這個(gè)boss玩家通關(guān)后能夠解鎖更高的難度,難度越高獲得的獎(jiǎng)勵(lì)越多,下面就為大家分享絕區(qū)零尼尼微難度11打法攻略。絕區(qū)零尼尼微難度11打法攻略一、陣容搭配1
絕區(qū)零洗衣粉還是老牌子好是游戲中的成就之一,這個(gè)成就需要玩家達(dá)成前置條件才能解鎖,完成成就后能獲得獎(jiǎng)勵(lì),下面就為大家分享絕區(qū)零洗衣粉還是老牌子好成就攻略。絕區(qū)零洗衣粉還是老牌子好成就攻略1、玩家必須先
絕區(qū)零簡(jiǎn)杜異是游戲中1.1下半卡池中的新角色,這個(gè)角色的定位是一個(gè)物理異常,不少玩家都已經(jīng)抽取該角色進(jìn)行培養(yǎng),下面就為大家分享絕區(qū)零簡(jiǎn)杜異常紊亂隊(duì)搭配攻略。絕區(qū)零簡(jiǎn)杜異常紊亂隊(duì)攻略一、配隊(duì)推薦簡(jiǎn)+11
絕區(qū)零實(shí)境戰(zhàn)術(shù)演練是游戲中的活動(dòng)之一,這個(gè)活動(dòng)需要玩家達(dá)成一定條件才能參加,玩家參加活動(dòng)完成活動(dòng)任務(wù)能獲得獎(jiǎng)勵(lì),下面就為大家分享絕區(qū)零實(shí)境戰(zhàn)術(shù)演練活動(dòng)攻略。絕區(qū)零實(shí)境戰(zhàn)術(shù)演練活動(dòng)攻略一、活動(dòng)玩法1、活
《冰汽時(shí)代2》是由11 bit studios開(kāi)發(fā)的一款生存策略類(lèi)游戲,繼承了前作的核心理念。玩家將在一個(gè)被冰封的世界中建設(shè)和管理人類(lèi)最后的城市,面臨嚴(yán)酷的寒冷和道德抉擇。游戲中,你需要平衡資源分配、
AHKImg2Html是一個(gè)小巧實(shí)用的圖片轉(zhuǎn)html工具,之前看到過(guò)某個(gè)工具(Image2Html)能夠?qū)D片轉(zhuǎn)換成html代碼,不過(guò)用起來(lái)不是很便捷,于是用AHK做了一款更符合自己需求的。功能介紹a
流水?dāng)嘌露S碼生成器是一個(gè)免費(fèi)創(chuàng)意二維碼生成器,app基于QrCodeNet和ZXing二次開(kāi)發(fā),支持生成二維碼,與此同時(shí)也支持識(shí)別本地二維碼。生成二維碼支持中文、網(wǎng)址等內(nèi)容生成,可自定義添加二維碼專(zhuān)
一個(gè)綠色精簡(jiǎn)的圖片轉(zhuǎn)換器,支持圖片轉(zhuǎn)化為png、jpg、gif、tif、bmp格式,想更方便的可以使用快速的命令行調(diào)用模式,打開(kāi)cmd按照下面的格式輸入就能快速轉(zhuǎn)換。使用說(shuō)明命令行調(diào)用模式:Green
FastStonePhotoResizer是個(gè)集圖片轉(zhuǎn)換、重新命名、裁切、重新定義圖片大小的免費(fèi)工具。讓你不需要再使用龐大的圖象編輯軟件就能會(huì)圖修做簡(jiǎn)單的轉(zhuǎn)換、裁切、更改尺寸等簡(jiǎn)易功能。當(dāng)然它最主要的
投影機(jī)圖像格式轉(zhuǎn)換軟件把JPG、PNG、BMP、JPEG、PPT和PPTX格式的圖片或文件,轉(zhuǎn)換成可以投影機(jī)直接投影出來(lái)的圖片格式。文件解壓后,直接運(yùn)行軟件ImageConverter.exe功能介紹
如今照片圖片信息量越來(lái)越大,外出旅游,生活照,QQ、微信所曬的照片大多數(shù)的時(shí)候我們想要處理編輯,比如合成、摳圖、剪裁、美化、馬賽克等,讓圖片更加美感,網(wǎng)上圖片工具太多,到底那一款軟件簡(jiǎn)單實(shí)用,下面給大家介紹幾款不同的軟件。
[隨波逐流]我圖網(wǎng)|千圖網(wǎng)|圖品匯無(wú)水印圖片和視頻下載工具 1.0
圖片瀏覽 簡(jiǎn)體中文
[隨波逐流]我圖網(wǎng)|千圖網(wǎng)|圖品匯無(wú)水印圖片和視頻下載工具