Python实现的删除重复文件或图片功能示例【去重】


Posted in Python onApril 23, 2019

本文实例讲述了Python实现的删除重复文件或图片功能。分享给大家供大家参考,具体如下:

通过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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
python中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
python如何创建TCP服务端和客户端
Aug 26 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
Python循环实现n的全排列功能
Sep 16 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
详解Python 函数如何重载?
Apr 23 #Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 #Python
Python 存储字符串时节省空间的方法
Apr 23 #Python
Django页面数据的缓存与使用的具体方法
Apr 23 #Python
Python切片操作去除字符串首尾的空格
Apr 22 #Python
详解python中的hashlib模块的使用
Apr 22 #Python
Python 中包/模块的 `import` 操作代码
Apr 22 #Python
You might like
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
利用python进行文件操作
2020/12/04 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
财务会计应届生求职信
2013/11/24 职场文书
高三英语教学反思
2014/01/13 职场文书
医学生求职自荐书
2014/06/12 职场文书
2014年征兵标语
2014/06/20 职场文书
民族精神月活动总结
2014/08/28 职场文书
西安事变观后感
2015/06/12 职场文书
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
python神经网络Xception模型
2022/05/06 Python