新聞中心
步驟

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供河津網(wǎng)站建設(shè)、河津做網(wǎng)站、河津網(wǎng)站設(shè)計(jì)、河津網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、河津企業(yè)網(wǎng)站模板建站服務(wù),10余年河津做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
1、首先將所有的圖片按照?qǐng)D片大小(byte)進(jìn)行分類,然后再進(jìn)行分類比較。
2、重復(fù)圖片很有可能連續(xù)出現(xiàn)(因?yàn)橹貜?fù)圖片大小相同)
如果要判斷文件夾中是否有相同的圖片,則需要對(duì)文件夾中的所有圖片進(jìn)行分類,并逐一判斷兩張圖片是否相同。
如果文件夾中有1000張圖片,則第一張圖片需要與剩余的999張圖片進(jìn)行比較,第二張圖片需要與剩余的998張圖片進(jìn)行比較,第三張圖片需要與剩余的997張圖片進(jìn)行比較,以此類推。
實(shí)例
if __name__ == '__main__':
load_path = 'E:\\測(cè)試圖片集(未去重)' # 要去重的文件夾
save_path = 'E:\\測(cè)試圖片集(重復(fù)照片)' # 空文件夾,用于存儲(chǔ)檢測(cè)到的重復(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ù)的圖片移動(dòng)到新的文件夾,實(shí)現(xiàn)對(duì)原文件夾降重
for image in file_repeat:
shutil.move(image, save_path)
print("正在移除重復(fù)照片:", image)
以上就是python判斷文件夾內(nèi)的重復(fù)圖片的方法,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
分享標(biāo)題:創(chuàng)新互聯(lián)Python教程:python如何判斷文件夾內(nèi)的重復(fù)圖片
分享鏈接:http://fisionsoft.com.cn/article/djecdig.html


咨詢
建站咨詢
