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批量读取txt文件为DataFrame的方法
Apr 03 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
Python 私有化操作实例分析
Nov 21 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
Django 删除upload_to文件的步骤
Mar 30 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
python实现KNN近邻算法
Dec 30 Python
python基础详解之if循环语句
Apr 24 Python
浅谈Python numpy创建空数组的问题
May 25 Python
详细介绍python类及类的用法
May 31 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 socket的讲解与实例分析
2013/06/13 PHP
PHP速成大法
2015/01/30 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php如何计算两坐标点之间的距离
2018/12/29 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
Python类的继承和多态代码详解
2017/12/27 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
初学者学习Python好还是Java好
2020/05/26 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
Python 里最强的地图绘制神器
2021/03/01 Python
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
前台文员的岗位职责
2013/11/14 职场文书
小学生学习感言
2014/03/10 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书