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学习笔记_数据排序方法
May 22 Python
Python将xml和xsl转换为html的方法
Mar 10 Python
Django内容增加富文本功能的实例
Oct 17 Python
Python异常处理操作实例详解
Aug 28 Python
详解django自定义中间件处理
Nov 21 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
Python查找文件中包含中文的行方法
Dec 19 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
Django+Celery实现定时任务的示例
Jun 23 Python
python 学习GCN图卷积神经网络
May 11 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php使用百度天气接口示例
2014/04/22 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
广告切换效果(缓动切换)
2009/05/27 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
微信小程序如何使用globalData的方法
2019/06/06 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
Python解惑之整数比较详解
2017/04/24 Python
python计算两个地址之间的距离方法
2018/06/09 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
Python 在函数上添加包装器
2020/07/28 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
Java如何支持I18N?
2016/10/31 面试题
工程管理造价应届生求职信
2013/11/13 职场文书
求职信范文怎么写
2014/01/29 职场文书
论文诚信承诺书
2014/05/23 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript