Python查找重复文件相关操作方式分享

当我们在使用硬盘存放资料的时候,通常情况下,时间一久,就会出现一些垃圾文件以及重复文件的出现,那么该怎样才能很好的处理这一问题呢?今天我们就可以利用Python来编写一个工具帮助我们解决。那么,就让我们一起看看Python查找重复文件的相关实现方法吧。#t#

创新互联,为您提供重庆网站建设成都网站制作、网站营销推广、网站开发设计,对服务成都PE包装袋等多个行业拥有丰富的网站建设及推广经验。创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

Python查找重复文件主要思路如下:

1. 查找同命文件

2. 利用了crc32,先检查出同样尺寸的文件,再计算crc32,得出相同的文件名列表。

下面是转载的一个Python查找重复文件的代码,虽然可以满足要求,但是在查找大量文件时候,速度很慢,我抽空把它调优。

 
 
 
  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. import binascii, os
  4. filesizes = {}
  5. samefiles = []
  6. def filesize(path):
  7. if os.path.isdir(path):
  8. files = os.listdir(path)
  9. for file in files:
  10. filesize(path + "/" + file)
  11. else:
  12. size = os.path.getsize(path)
  13. if not filesizes.has_key(size):
  14. filesizes[size] = []
  15. filesizes[size].append(path)
  16. def filecrc(files):
  17. filecrcs = {}
  18. for file in files:
  19. f = open(file, "r")
  20. 23 crc = binascii.crc32(f.read())
  21. 24 f.close()
  22. if not filecrcs.has_key(crc):
  23. filecrcs[crc] = []
  24. filecrcs[crc].append(file)
  25. for filecrclist in filecrcs.values():
  26. if len(filecrclist) > 1:
  27. samefiles.append(filecrclist)
  28. if __name__ == '__main__':
  29. path = r"J:\My Work"
  30. filesize(path)
  31. for sizesamefilelist in filesizes.values():
  32. if len(sizesamefilelist) > 1:
  33. filecrc(sizesamefilelist)
  34. for samfile in samefiles:
  35. print "****** same file group ******"
  36. for file in samefile:
  37. print file

以上就是对Python查找重复文件的相关介绍。

分享文章:Python查找重复文件相关操作方式分享
转载注明:http://www.shufengxianlan.com/qtweb/news21/90571.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联