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 相关文章推荐
Windows下PyMongo下载及安装教程
Apr 27 Python
python web框架学习笔记
May 03 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
使用Python制作自动推送微信消息提醒的备忘录功能
Sep 06 Python
不到40行代码用Python实现一个简单的推荐系统
May 10 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
深入学习python多线程与GIL
Aug 26 Python
python实现两个字典合并,两个list合并
Dec 02 Python
pytorch中的inference使用实例
Feb 20 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 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
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
了解前端理论:rscss和rsjs
2019/05/23 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
浅析Vue 中的 render 函数
2020/02/28 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
python3+opencv生成不规则黑白mask实例
2020/02/19 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
工程招投标邀请书
2014/01/30 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
六一儿童节标语
2014/10/08 职场文书
买卖合同协议书范本
2014/10/18 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
Nginx 常用配置
2022/05/15 Servers