使用Python+md5删除本地重复(同一张不重名)的照片

github博客传送门
博客园传送门

使用md5删除重复文件思路和本帖一样

首先遍历需要去重文件夹下的所有文件
然后生成每个文件md5码的同时 和集合中的md5码比较
如md5码不存在,则进行保存.如存在,则不进行保存
最后保存路径的文件 则是不重复的文件
import hashlib
import os
from PIL import Image
import numpy as np


files_path = "这里输入你要去重的文件夹路径.."
save_files_path = "这里输入你去重后保存文件的路径..."
files = os.listdir(files_path)  # 遍历文件夹下的所有文件

temp = set()  # 创建一个set()
count = 0  # 删除的文件计数
for file in files:
    file_path = files_path + file  # 获得完整的路径
    img = Image.open(file_path)  # 打开图片
    img_array = np.array(img)  # 转为数组
    md5 = hashlib.md5()  # 创建一个hash对象
    md5.update(img_array)  # 获得当前文件的md5码
    if md5.hexdigest() not in temp:  # 如果当前的md5码不在集合中
        temp.add(md5.hexdigest())  # 则添加当前md5码到集合中
        img.save(save_files_path + file)  # 并保存当前图片到保存文件的路径
    else:
        count += 1  # 否则删除图片数加一

print("duplicate removal:", count)  # 最后输出删除图片的总数

print_r('点个赞吧')var_dump('点个赞吧')NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值