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二维码生成库qrcode安装和使用示例
Dec 16 Python
Python文件和目录操作详解
Feb 08 Python
numpy自动生成数组详解
Dec 15 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Python中dict和set的用法讲解
Mar 28 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python对象转字典的两种实现方式示例
Nov 07 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
python如何利用Mitmproxy抓包
Oct 10 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
用javascript实现画板的代码
2007/09/05 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python中常见的数制转换有哪些
2020/05/27 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
软件项目实施计划书
2014/05/02 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
话题作文之关于呼唤
2019/11/29 职场文书