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怎么学好python?
Oct 07 Python
python每次处理固定个数的字符的方法总结
Jan 29 Python
Python 字符串操作方法大全
Mar 11 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
python整小时 整天时间戳获取算法示例
Feb 20 Python
python实现Virginia无密钥解密
Mar 20 Python
python画图把时间作为横坐标的方法
Jul 07 Python
python 公共方法汇总解析
Sep 16 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去除换行(回车换行)的三种方法
2014/03/26 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
js可突破windows弹退效果代码
2008/08/09 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
js创建对象的方式总结
2015/01/10 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python注释详解
2016/06/01 Python
pyshp创建shp点文件的方法
2018/12/31 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
基于pytorch的lstm参数使用详解
2020/01/14 Python
tensorflow实现从.ckpt文件中读取任意变量
2020/05/26 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
美国羊皮公司:Overland
2018/01/15 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
销售人员自我评价怎么写
2013/09/19 职场文书
自考生自我鉴定范文
2013/10/01 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
运动会班级前导词
2015/07/20 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书