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 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
Python的设计模式编程入门指南
Apr 02 Python
python基于itchat实现微信群消息同步机器人
Feb 27 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
python将秒数转化为时间格式的实例
Sep 16 Python
python: 判断tuple、list、dict是否为空的方法
Oct 22 Python
Python中base64与xml取值结合问题
Dec 22 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
python字符串替换re.sub()实例解析
Feb 09 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 Python
python数据抓取3种方法总结
Feb 07 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模拟HTTP认证
2006/10/09 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
深入解析PHP的Laravel框架中的event事件操作
2016/03/21 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
图片完美缩放
2006/09/07 Javascript
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
HTML5 Canvas的事件处理介绍
2015/04/24 HTML / CSS
初中女生自我鉴定
2013/12/19 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
超市创意活动方案
2014/08/15 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电