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

創(chuàng)新互聯(lián),為您提供重慶網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)成都PE包裝袋等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
Python查找重復(fù)文件主要思路如下:
1. 查找同命文件
2. 利用了crc32,先檢查出同樣尺寸的文件,再計(jì)算crc32,得出相同的文件名列表。
下面是轉(zhuǎn)載的一個(gè)Python查找重復(fù)文件的代碼,雖然可以滿足要求,但是在查找大量文件時(shí)候,速度很慢,我抽空把它調(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
以上就是對(duì)Python查找重復(fù)文件的相關(guān)介紹。
網(wǎng)站標(biāo)題:Python查找重復(fù)文件相關(guān)操作方式分享
網(wǎng)站路徑:http://www.5511xx.com/article/coiihsi.html


咨詢
建站咨詢
