Portál AbcLinuxu, 24. dubna 2024 16:43
#encoding: utf-8
'''Programek na rychlou detekci duplicitnich souboru v adresari
'''
import os, hashlib
class DupFinder(object):
def __init__(self, adresar):
self.database = {}
self.__get_all_files(adresar)
print len(self.database)
del(self.database)
def __get_all_files(self, adresar):
dupe = 0
for root, adresar, soubory in os.walk(adresar):
for soubor in soubory:
with open(os.path.join(root, soubor), 'rb') as f:
hashfile = hashlib.sha224()
hashfile.update(f.read())
newhash = hashfile.hexdigest()
if newhash not in self.database:
self.database[newhash] = os.path.join(root, soubor)
else:
dupe += 1
print ('NR Dupes in directory: %d' % dupe)
if __name__ == '__main__':
a = DupFinder('/home/martin/Fotky')
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.