github博客传送门
csdn博客传送门
使用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(’点个赞吧’)