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实现文件分组复制到不同目录的例子
Jun 04 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
python中使用input()函数获取用户输入值方式
May 03 Python
Python爬虫教程知识点总结
Oct 19 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
PHP 文件上传全攻略
2010/04/28 PHP
PHP中的float类型使用说明
2010/07/27 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
php session的应用详细介绍
2017/03/22 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
JavaScript门面模式详解
2017/10/19 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
python抓取最新博客内容并生成Rss
2015/05/17 Python
python使用matplotlib绘制折线图教程
2017/02/08 Python
python表格存取的方法
2018/03/07 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
Python extract及contains方法代码实例
2020/09/11 Python
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
消防安全宣传标语
2014/06/07 职场文书
趣味运动会赞词
2015/07/22 职场文书
结婚典礼致辞
2015/07/28 职场文书
SQL中的三种去重方法小结
2021/11/01 SQL Server