本文实例讲述了python实现的删除重复文件或图片功能。分享给大家供大家参考,具体如下:
通过python爬虫或其他方式保存的图片文件通常包含一些重复的图片或文件,
通过下面的python代码可以将重复的文件删除以达到去重的目的。其中,文件目录结构如下图:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# /usr/bin/env python # -*- coding:utf-8 -*- # 运行的代码文件要放到删除重复的文件或图片所包含的目录中 import os import hashlib def filecount(): filecount = int (os.popen( 'dir /b |find /v /c ""' ).read()) return (filecount) def md5sum(filename): f = open (filename, 'rb' ) md5 = hashlib.md5() while true: fb = f.read( 8096 ) if not fb: break md5.update(fb) f.close() return (md5.hexdigest()) def delfile(): all_md5 = {} filedir = os.walk(os.getcwd()) for i in filedir: for tlie in i[ 2 ]: if md5sum(tlie) in all_md5.values(): os.remove(tlie) else : all_md5[tlie] = md5sum(tlie) if __name__ = = '__main__' : oldf = filecount() print ( '去重前有' , oldf, '个文件\n\n\n请稍等正在删除重复文件...' ) delfile() print ( '\n\n去重后剩' , filecount(), '个文件' ) print ( '\n\n一共删除了' , oldf - filecount(), '个文件\n\n' ) |
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/loveliuzz/article/details/81661281