直接上代码
# 修改一下第34行文件夹路径以及13行图片后缀名即可使用
import os
from hashlib import md5
def remove_duplicate_images(folder_path):
image_files = []
duplicate_images = set()
# 遍历文件夹,找到所有 JPG 图片文件
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.lower().endswith('.jpg'):
image_files.append(os.path.join(root, file))
# 遍历所有图片文件,并使用哈希值比较是否完全相同
for image_file in image_files:
with open(image_file, 'rb') as f:
image_data = f.read()
image_hash = md5(image_data).hexdigest()
if image_hash in duplicate_images:
f.close()
# 如果哈希值存在于重复图片集合中,则删除图片文件
print(os.path.basename(image_file))
os.remove(image_file)
else:
# 否则将哈希值添加到重复图片集合中
duplicate_images.add(image_hash)
f.close()
# 文件夹路径
folder_path_ = 'E:/古风/'
# 调用函数删除重复图片
remove_duplicate_images(folder_path_)