這篇文章主要介紹python怎么判斷文件夾內(nèi)的重復(fù)圖片,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司擁有10年成都網(wǎng)站建設(shè)工作經(jīng)驗,為各大企業(yè)提供做網(wǎng)站、網(wǎng)站制作服務(wù),對于網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、app軟件開發(fā)公司、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名注冊等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項目的能力。
1、步驟
如果要判斷文件夾中是否有相同的圖片,則需要對文件夾中的所有圖片進行分類,并逐一判斷兩張圖片是否相同。
如果文件夾中有1000張圖片,則第一張圖片需要與剩余的999張圖片進行比較,第二張圖片需要與剩余的998張圖片進行比較,第三張圖片需要與剩余的997張圖片進行比較,以此類推。
這個程序的做法是,首先將所有的圖片按照圖片大小(byte)進行分類,然后再進行分類比較。結(jié)果是:重復(fù)圖片很有可能連續(xù)出現(xiàn)(因為重復(fù)圖片大小相同)
2、實例
if __name__ == '__main__':
load_path = 'E:\\測試圖片集(未去重)' # 要去重的文件夾
save_path = 'E:\\測試圖片集(重復(fù)照片)' # 空文件夾,用于存儲檢測到的重復(fù)的照片
os.makedirs(save_path, exist_ok=True)
# 獲取圖片列表 file_map,字典{文件路徑filename : 文件大小image_size}
file_map = {}
image_size = 0
# 遍歷filePath下的文件、文件夾(包括子目錄)
for parent, dirnames, filenames in os.walk(load_path):
# for dirname in dirnames:
# print('parent is %s, dirname is %s' % (parent, dirname))
for filename in filenames:
# print('parent is %s, filename is %s' % (parent, filename))
# print('the full name of the file is %s' % os.path.join(parent, filename))
image_size = os.path.getsize(os.path.join(parent, filename))
file_map.setdefault(os.path.join(parent, filename), image_size)
# 獲取的圖片列表按 文件大小image_size 排序
file_map = sorted(file_map.items(), key=lambda d: d[1], reverse=False)
file_list = []
for filename, image_size in file_map:
file_list.append(filename)
# 取出重復(fù)的圖片
file_repeat = []
for currIndex, filename in enumerate(file_list):
dir_image1 = file_list[currIndex]
dir_image2 = file_list[currIndex + 1]
result = 比較兩張圖片是否相同(dir_image1, dir_image2)
if(result == "兩張圖相同"):
file_repeat.append(file_list[currIndex + 1])
print("\n相同的圖片:", file_list[currIndex], file_list[currIndex + 1])
else:
print('\n不同的圖片:', file_list[currIndex], file_list[currIndex + 1])
currIndex += 1
if currIndex >= len(file_list)-1:
break
# 將重復(fù)的圖片移動到新的文件夾,實現(xiàn)對原文件夾降重
for image in file_repeat:
shutil.move(image, save_path)
print("正在移除重復(fù)照片:", image)python的五大特點:1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο螅c其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
以上是“python怎么判斷文件夾內(nèi)的重復(fù)圖片”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:python怎么判斷文件夾內(nèi)的重復(fù)圖片
分享URL:http://www.chinadenli.net/article12/piiegc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、定制網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)