import os
dirname = '/home/pavel/Documents'
def searches( dirname, suffix) :
paths = [ ]
for name in os .listdir ( dirname) :
path = os .path .join ( dirname, name)
if os .path .isfile ( path) :
if path.endswith ( suffix) :
paths.append ( path)
else :
searches( path, suffix)
return paths
def any_duplicates( paths) :
cmd = 'md5sum '
checksums = { }
for file in paths:
fp = os .popen ( cmd + os .path .normpath ( file ) )
checksum = fp.readline ( ) .split ( ' ' ) [ 0 ]
fp.close ( )
checksums[ checksum] = [ file ]
for key in checksums:
print ( key, checksums[ key] , '\n \n ' )
l = searches( '/home/pavel/Desktop/books' , 'pdf' )
any_duplicates( l)
aW1wb3J0IG9zCgoKZGlybmFtZSA9ICcvaG9tZS9wYXZlbC9Eb2N1bWVudHMnCgpkZWYgc2VhcmNoZXMoZGlybmFtZSwgc3VmZml4KToKCXBhdGhzID0gW10KCWZvciBuYW1lIGluIG9zLmxpc3RkaXIoZGlybmFtZSk6CgkJcGF0aCA9IG9zLnBhdGguam9pbihkaXJuYW1lLCBuYW1lKQoJCWlmIG9zLnBhdGguaXNmaWxlKHBhdGgpOgoJCQlpZiBwYXRoLmVuZHN3aXRoKHN1ZmZpeCk6CgkJCQlwYXRocy5hcHBlbmQocGF0aCkKCQllbHNlOgoJCQlzZWFyY2hlcyhwYXRoLCBzdWZmaXgpCglyZXR1cm4gcGF0aHMKCgpkZWYgYW55X2R1cGxpY2F0ZXMocGF0aHMpOgoJY21kID0gJ21kNXN1bSAnCgljaGVja3N1bXMgPSB7fQoJZm9yIGZpbGUgaW4gcGF0aHM6CgkJZnAgPSBvcy5wb3BlbihjbWQgKyBvcy5wYXRoLm5vcm1wYXRoKGZpbGUpKQoJCWNoZWNrc3VtID0gZnAucmVhZGxpbmUoKS5zcGxpdCgnICcpWzBdCgkJZnAuY2xvc2UoKQoJCWNoZWNrc3Vtc1tjaGVja3N1bV0gPSBbZmlsZV0KCWZvciBrZXkgaW4gY2hlY2tzdW1zOgoJCXByaW50KGtleSwgY2hlY2tzdW1zW2tleV0sICdcblxuJykKCgpsID0gc2VhcmNoZXMoJy9ob21lL3BhdmVsL0Rlc2t0b3AvYm9va3MnLCAncGRmJykKCmFueV9kdXBsaWNhdGVzKGwp