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 相关文章推荐
selenium+python自动化测试之多窗口切换
Jan 23 Python
python将pandas datarame保存为txt文件的实例
Feb 12 Python
python redis 删除key脚本的实例
Feb 19 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
python高斯分布概率密度函数的使用详解
Jul 10 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
Python交互式图形编程的实现
Jul 25 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
python中upper是做什么用的
Jul 20 Python
Opencv中cv2.floodFill算法的使用
Jun 18 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中的日期及时间
2006/11/23 PHP
用 PHP5 轻松解析 XML
2006/12/04 PHP
PHP 透明水印生成代码
2012/08/27 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
php网页病毒清除类
2014/12/08 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
AngularJS 执行流程详细介绍
2016/08/18 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
微信小程序利用button控制条件标签的变量问题
2020/03/15 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
django rest framework之请求与响应(详解)
2017/11/06 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
Java的基础面试题附答案
2016/01/10 面试题
5.1手机促销活动
2014/01/17 职场文书
女子职高个人自荐书
2014/02/01 职场文书
擅自离岗检讨书
2014/02/11 职场文书
材料加工工程求职信
2014/02/19 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
公诉意见书范文
2015/06/05 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
导游词之山西关帝庙
2019/11/01 职场文书