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下函数参数的传递(参数带星号的说明)
Sep 19 Python
Python随机生成一个6位的验证码代码分享
Mar 24 Python
Python实现的批量修改文件后缀名操作示例
Dec 07 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
python实现按首字母分类查找功能
Oct 31 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
Feb 26 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
总结Pyinstaller打包的高级用法
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
thinkphp模板输出技巧汇总
2014/11/24 PHP
php生成rss类用法实例
2015/04/14 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
python友情链接检查方法
2015/07/08 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
关于python字符串方法分类详解
2019/08/20 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
亲子读书活动方案
2014/02/22 职场文书
终止合同协议书
2014/04/17 职场文书
考博专家推荐信
2014/05/10 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
违纪检讨书
2015/01/27 职场文书
水电工程师岗位职责
2015/02/13 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
创业计划书之外语培训班
2019/11/02 职场文书