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 相关文章推荐
python装饰器与递归算法详解
Feb 18 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python之reload流程实例代码解析
Jan 29 Python
django主动抛出403异常的方法详解
Jan 04 Python
python 对多个csv文件分别进行处理的方法
Jan 07 Python
Python zip函数打包元素实例解析
Dec 11 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
Python中glob库实现文件名的匹配
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开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
js模拟实现Array的sort方法
2007/12/11 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
Vue中的Props(不可变状态)
2018/09/29 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
python清除指定目录内所有文件中script的方法
2015/06/30 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
python 获取url中的参数列表实例
2018/12/18 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
python能做什么 python的含义
2019/10/12 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
python 19个值得学习的编程技巧
2020/08/15 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
大学生开西餐厅创业计划书
2014/02/01 职场文书
医药销售求职信范文
2014/02/01 职场文书
安全生产月活动总结
2014/05/04 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
保护环境建议书100字
2014/05/13 职场文书
美术专业自荐信
2014/07/07 职场文书
超市督导岗位职责
2015/04/10 职场文书
施工现场安全管理制度
2015/08/05 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis