您的位置:首页 > 脚本大全 > > 正文

列表重复数据怎么删除python(Python实现的删除重复文件或图片功能示例去重)

更多 时间:2021-10-14 00:48:41 类别:脚本大全 浏览量:2255

列表重复数据怎么删除python

Python实现的删除重复文件或图片功能示例去重

本文实例讲述了python实现的删除重复文件或图片功能。分享给大家供大家参考,具体如下:

通过python爬虫或其他方式保存的图片文件通常包含一些重复的图片或文件,

通过下面的python代码可以将重复的文件删除以达到去重的目的。其中,文件目录结构如下图:

列表重复数据怎么删除python(Python实现的删除重复文件或图片功能示例去重)

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • # /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程序设计有所帮助。

    原文链接:https://blog.csdn.net/loveliuzz/article/details/81661281

    您可能感兴趣