新聞中心
當我們在使用硬盤存放資料的時候,通常情況下,時間一久,就會出現(xiàn)一些垃圾文件以及重復文件的出現(xiàn),那么該怎樣才能很好的處理這一問題呢?今天我們就可以利用Python來編寫一個工具幫助我們解決。那么,就讓我們一起看看Python查找重復文件的相關(guān)實現(xiàn)方法吧。#t#

創(chuàng)新互聯(lián),為您提供重慶網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務成都PE包裝袋等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!
Python查找重復文件主要思路如下:
1. 查找同命文件
2. 利用了crc32,先檢查出同樣尺寸的文件,再計算crc32,得出相同的文件名列表。
下面是轉(zhuǎn)載的一個Python查找重復文件的代碼,雖然可以滿足要求,但是在查找大量文件時候,速度很慢,我抽空把它調(diào)優(yōu)。
- #!/usr/bin/env python
- #coding=utf-8
- import binascii, os
- filesizes = {}
- samefiles = []
- def filesize(path):
- if os.path.isdir(path):
- files = os.listdir(path)
- for file in files:
- filesize(path + "/" + file)
- else:
- size = os.path.getsize(path)
- if not filesizes.has_key(size):
- filesizes[size] = []
- filesizes[size].append(path)
- def filecrc(files):
- filecrcs = {}
- for file in files:
- f = open(file, "r")
- 23 crc = binascii.crc32(f.read())
- 24 f.close()
- if not filecrcs.has_key(crc):
- filecrcs[crc] = []
- filecrcs[crc].append(file)
- for filecrclist in filecrcs.values():
- if len(filecrclist) > 1:
- samefiles.append(filecrclist)
- if __name__ == '__main__':
- path = r"J:\My Work"
- filesize(path)
- for sizesamefilelist in filesizes.values():
- if len(sizesamefilelist) > 1:
- filecrc(sizesamefilelist)
- for samfile in samefiles:
- print "****** same file group ******"
- for file in samefile:
- print file
以上就是對Python查找重復文件的相關(guān)介紹。
網(wǎng)站名稱:Python查找重復文件相關(guān)操作方式分享
瀏覽路徑:http://www.dlmjj.cn/article/coiihsi.html


咨詢
建站咨詢
