Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. import os
  2. import hashlib
  3.  
  4.  
  5. def get_dir_files(dirname):
  6. files = []
  7.  
  8. for name in os.listdir(dirname):
  9. name = os.path.join(dirname, name)
  10.  
  11. if os.path.isdir(name):
  12. subfiles = get_dir_files(name)
  13. files.extend(subfiles)
  14. elif os.path.isfile(name):
  15. files.append(name)
  16.  
  17. return files
  18.  
  19.  
  20. def get_md5_dict_from_files(files):
  21. md5dict = {}
  22.  
  23. for file in files:
  24. md5dict[file] = hashlib.md5(open(file,'rb').read()).hexdigest()
  25.  
  26. return md5dict
  27.  
  28.  
  29. if __name__ == "__main__":
  30. currdir = os.getcwd()
  31. files = get_dir_files(currdir)
  32. md5dict = get_md5_dict_from_files(files)
  33. newpath = os.path.join(currdir, "Copias")
  34.  
  35. for name1, md51 in md5dict.items():
  36. for name2, md52 in md5dict.items():
  37. if (name1 == name2):
  38. continue
  39.  
  40. if (md51 == md52):
  41. oldname = name2
  42. md5dict[oldname] = ""
  43. oldpath, filename = os.path.split(oldname)
  44. newname = os.path.join(newpath, filename)
  45.  
  46. if os.path.exists(oldname):
  47. os.rename(oldname, newname)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement