猜您喜歡:
喜歡攝影和拍照的朋友們經(jīng)常會將照片放到電腦上,時間長了,往往會有很多重復(fù)的照片,浪費(fèi)電腦存儲空間,想要清理重復(fù)照片的話,手動查找非常的麻煩,那么就需要刪除重復(fù)圖片的軟件了,軟件能夠智能掃描電腦指定目錄中的重復(fù)照片,支持一鍵刪除或手動刪除,方便快捷。
今天閑來無事整理素材,發(fā)現(xiàn)有許多重復(fù)的圖片,由于數(shù)量太多無法手動翻閱刪除,想想寫個代碼,分析了一下重復(fù)圖片有些是同名的,有些內(nèi)容重復(fù)不同名,返回文件名清理放棄,圖片大小也放棄放棄,后來選用計算MD5的方式清除,然后先是使用os.listdir()函數(shù)遍歷文件夾下的圖片,在測試過程中,如果文件夾下還包含文件夾就會引發(fā)異常,后來決定用os.walk()函數(shù)來遍歷;
源碼注釋寫的比較清晰,就不多闡述,可根據(jù)自己需要封裝函數(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('抱歉,沒有這個路徑!')
else:
temp = set() # 創(chuàng)建臨時集合;
del_count = 0 # 刪除圖片計數(shù);
pass_count = 0 # 非圖片計數(shù);
file_count = 0 # 總文件計數(shù);
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 # 文件計數(shù)+1;
print(full_path)
try:
with Image.open(full_path) as t: # 打開圖片;
array = np.array(t) # 轉(zhuǎn)為數(shù)組;
except (UnidentifiedImageError,DecompressionBombError): # 捕獲不是圖片,像素炸彈異常;
pass_count += 1 # 非圖片計數(shù)+1;
pass
else:
md5 = hashlib.md5() # 創(chuàng)建MD5對象;
md5.update(array) # 獲取當(dāng)前圖片MD5;
if md5.hexdigest() not in temp: # 如果哈希值沒有在集合中;
temp.add(md5.hexdigest()) # 就把哈希值添加到集合中;
else:
os.remove(full_path) # 如果在集合中就刪除當(dāng)前圖片;
print(full_path+'------------------已刪除')
del_count += 1 # 刪除計數(shù)+1;
time2 = time()
time3 = time2-time1
if pass_count != 0:
print('[#7CFC00]非圖片數(shù)據(jù):[/#7CFC00][#800000]{0}[/#800000] 個.'.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]總耗時為:[/#0000FF][#800000]{:.4f}[/#800000] 秒.'.format(time3))
input('按任意鍵結(jié)束!!!') # 此條為了編譯成EXE或在命令行運(yùn)行腳本時能看見上面統(tǒng)計后數(shù)據(jù)所添加,如果在IDE中運(yùn)行可刪除;
exit() # 如果在IDE中運(yùn)行可刪除;
喜歡小編為您帶來的刪除重復(fù)圖片的軟件嗎?希望可以幫到您~更多軟件下載盡在非凡軟件站。
圖片處理軟件 圖片處理軟件是一種對圖像進(jìn)行編輯、處理、轉(zhuǎn)換的圖片處理工具,圖片處理軟件使用簡單支持功能多樣,支持批量處理圖片文件。圖片處理軟件哪個好呢?非凡為大家提供幾款圖片處理軟件歡迎朋友們使用。
123 graphic converter(圖形轉(zhuǎn)換軟件)v3.0.0.6 123 graphic converter,一款比較簡易的圖...詳情>>
FotoWorks XL 2021v21.5 大家平時里提到圖片處理軟件,一般想到的都是photoshop...詳情>>
A Sharper Scaling(圖像無損放大軟件)v1.5 圖像放大的時候一般都會失真,變得不那么清晰,那有什么辦法能在...詳情>>
Image Resizerv1.0.0.5 Image Resizer是一款簡單實用的圖片處理軟件,軟件...詳情>>
在這個快節(jié)奏的時代,很多人都喜歡在閑暇之余通過快手極速版來觀看短視頻、放松心情。然而,有時候我們可能會遇到一些小問題,比如簽到功能無法打開。這不僅會讓我們錯過每日的獎勵,還可能影響我們的心情。別擔(dān)心,這篇文章將幫助你解決這一困擾。檢查網(wǎng)絡(luò)連接首先,請確保你的設(shè)
在享受優(yōu)酷提供的豐富視頻資源時,我們有時會遇到網(wǎng)絡(luò)連接出錯的問題。這種情況可能由多種因素引起,包括網(wǎng)絡(luò)不穩(wěn)定、服務(wù)器故障、瀏覽器緩存問題或軟件版本過舊等。了解這些可能的原因有助于我們更快地找到解決問題的方法。檢查網(wǎng)絡(luò)連接首先,當(dāng)您遇到優(yōu)酷網(wǎng)絡(luò)連接出錯時,建議先
隨著2025年的到來,微信再次推出了春節(jié)紅包封面活動,為這個傳統(tǒng)佳節(jié)增添了更多趣味和歡樂。為了幫助大家更好地參與這一活動,本文將從多個角度詳細(xì)介紹如何領(lǐng)取2025年微信春節(jié)紅包封面。一、官方渠道領(lǐng)取微信官方通常會在春節(jié)前通過其官方微信公眾號、微博等平臺發(fā)布領(lǐng)取
在當(dāng)今這個信息爆炸的時代,我們每天都會遇到各種各樣的生詞和專業(yè)術(shù)語。為了幫助大家更輕松地解決這一問題,網(wǎng)易有道詞典推出了桌面查詞功能。本文將為大家詳細(xì)介紹如何開啟并使用這一功能。什么是桌面查詞功能?桌面查詞功能是網(wǎng)易有道詞典為用戶提供的一項強(qiáng)大功能,它允許用戶
抖音作為一款備受歡迎的短視頻平臺,不僅提供了豐富的娛樂內(nèi)容,還允許用戶通過充值鉆石來進(jìn)行各種互動和消費(fèi)。然而,當(dāng)用戶充值鉆石后,如果因為某些原因希望退款,抖音平臺會如何處理呢?本文將從多個維度探討抖音鉆石充值后的退款政策。抖音鉆石充值的基本流程首先,讓我們了解
使用賬王記賬app進(jìn)行財務(wù)管理時,添加不同貨幣的匯率是一個常見的需求,特別是當(dāng)你需要記錄加拿大元的賬目時。以下是一個詳細(xì)的指南,幫助你全面了解如何在賬王記賬中添加加拿大元匯率。一、準(zhǔn)備工作在開始添加加拿大元匯率之前,請確保你已經(jīng)安裝了賬王記賬app,并已登錄到
本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!本站將不對任何資源負(fù)法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。
如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系
(版權(quán)說明注意事項)。若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系
!
用戶可自行按線路選擇相應(yīng)的下載點(diǎn),可以直接點(diǎn)擊下載/另存為,若直接點(diǎn)擊下載速度太慢,請嘗試使用高速下載器。為確保下載的文件能正常使用,請使用WinRAR最新版本解壓本站軟件。
建議大家謹(jǐn)慎對待所下載的文件,大家在安裝的時候務(wù)必留意每一步!關(guān)于360安全衛(wèi)士或QQ電腦管家的有關(guān)提示,請自行注意選擇操作。