Skript, mis otsib üles duplikaatfailid - Python: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
<source lang = "python"> | <source lang = "python"> | ||
#!/usr/bin/python | #!/usr/bin/python | ||
# -*- coding: utf | # -*- coding: utf-8 -*- | ||
#Skript leidmaks duplikaatfailid | |||
#Chris Sinihelm, AK41, 2010 | |||
import hashlib | import hashlib | ||
import os | import os | ||
def | def sha(filename): | ||
d = hashlib.sha512() | |||
try: | |||
d.update(open(filename).read()) | |||
except Exception,e: | |||
if | print e | ||
else: | else: | ||
return d.hexdigest() | |||
s={} | |||
path = raw_input ("Sisesta koht, kus kohast duplikaatfaile otsitakse: ") | |||
print "Sisestasid ", path | |||
for r,d,f in os.walk(path): | |||
for files in f: | |||
filename=os.path.join(r,files) | |||
digest=sha(filename) | |||
if not s.has_key(digest): | |||
s[digest]=filename | |||
else: | |||
print "Järgnevad on duplikaat failid: %s <==> %s " %( filename, s[digest]) | |||
</source> | </source> |
Revision as of 16:27, 29 January 2011
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Skript leidmaks duplikaatfailid
#Chris Sinihelm, AK41, 2010
import hashlib
import os
def sha(filename):
d = hashlib.sha512()
try:
d.update(open(filename).read())
except Exception,e:
print e
else:
return d.hexdigest()
s={}
path = raw_input ("Sisesta koht, kus kohast duplikaatfaile otsitakse: ")
print "Sisestasid ", path
for r,d,f in os.walk(path):
for files in f:
filename=os.path.join(r,files)
digest=sha(filename)
if not s.has_key(digest):
s[digest]=filename
else:
print "Järgnevad on duplikaat failid: %s <==> %s " %( filename, s[digest])