自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python查找重復(fù)文件相關(guān)操作方式分享

開發(fā) 后端
Python查找重復(fù)文件的實(shí)現(xiàn),可以輕松的幫助我們處理硬件中重復(fù)文件出現(xiàn)的問題。我們將會(huì)在這里針對(duì)這一技術(shù)做一個(gè)詳細(xì)介紹。

當(dāng)我們?cè)谑褂糜脖P存放資料的時(shí)候,通常情況下,時(shí)間一久,就會(huì)出現(xiàn)一些垃圾文件以及重復(fù)文件的出現(xiàn),那么該怎樣才能很好的處理這一問題呢?今天我們就可以利用Python來編寫一個(gè)工具幫助我們解決。那么,就讓我們一起看看Python查找重復(fù)文件的相關(guān)實(shí)現(xiàn)方法吧。#t#

Python查找重復(fù)文件主要思路如下:

1. 查找同命文件

2. 利用了crc32,先檢查出同樣尺寸的文件,再計(jì)算crc32,得出相同的文件名列表。

下面是轉(zhuǎn)載的一個(gè)Python查找重復(fù)文件的代碼,雖然可以滿足要求,但是在查找大量文件時(shí)候,速度很慢,我抽空把它調(diào)優(yōu)。

  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 

以上就是對(duì)Python查找重復(fù)文件的相關(guān)介紹。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-03-04 15:57:23

Python實(shí)現(xiàn)ini

2010-03-05 09:33:05

Python實(shí)現(xiàn)tab

2021-09-13 12:15:57

Linux文件命令

2010-03-04 10:50:45

windows ser

2010-01-13 10:25:30

VB.NET文件夾操作

2009-12-10 17:27:39

PHP操作Cookie

2010-01-25 18:33:35

Android鍵盤操作

2010-01-06 17:02:28

.Net Framew

2010-01-28 14:12:20

Android Act

2011-03-21 17:25:08

SQL Server數(shù)重復(fù)記錄

2009-12-10 16:35:08

PHP操作文章列表

2010-03-23 16:30:47

Python文件復(fù)制

2024-10-11 12:00:00

Python批量文件操作

2009-12-16 11:04:51

Ruby操作文件權(quán)限

2010-03-04 14:39:52

Python讀取輸入值

2010-03-03 16:57:28

Python字符

2010-01-13 15:33:40

VB.NET菜單項(xiàng)目

2009-12-21 11:19:50

WCF配置文件

2010-01-15 19:04:09

2010-01-15 15:10:43

VB.NET Stri
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)