本文实例讲述了Python实现的删除重复文件或图片功能。分享给大家供大家参考,具体如下:
通过python爬虫或其他方式保存的图片文件通常包含一些重复的图片或文件,
通过下面的python代码可以将重复的文件删除以达到去重的目的。其中,文件目录结构如下图:
# /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相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。