本文实例讲述了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