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采用socket模拟TCP通讯的实现方法
Nov 19 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
Nov 23 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
Python判断对象是否为文件对象(file object)的三种方法示例
Apr 26 Python
Python音频操作工具PyAudio上手教程详解
Jun 26 Python
python用requests实现http请求代码实例
Oct 31 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
Python dict的常用方法示例代码
Jun 23 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
利用Python批量识别电子账单数据的方法
Feb 08 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扩展介绍与开发教程
2010/08/19 PHP
PHP防盗链代码实例
2014/08/27 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
jQuery实现html可联动的百分比进度条
2020/03/26 jQuery
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Python实现的IP端口扫描工具类示例
2019/02/15 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
python3注册全局热键的实现
2020/03/22 Python
Python count函数使用方法实例解析
2020/03/23 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
马来西亚网上购物:Youbeli
2018/03/30 全球购物
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
给老婆的婚前保证书
2014/02/01 职场文书
学校校庆演讲稿
2014/05/22 职场文书
消防工作实施方案
2014/06/09 职场文书
Python面向对象编程之类的概念
2021/11/01 Python
警用民用对讲机找不同
2022/02/18 无线电
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS