You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

HashFiles.py 817 B

123456789101112131415161718192021222324252627282930313233
  1. # -*- coding=utf-8
  2. import sys
  3. import os
  4. import argparse
  5. import getopt
  6. import hashlib
  7. import json
  8. import mimetypes
  9. def generateHashFile():
  10. file = targetfolder
  11. hashlist={}
  12. for root, dirs, files in os.walk(file):
  13. for file in files:
  14. path = os.path.join(root, file)
  15. with open(path, 'rb') as f:
  16. data = f.read()
  17. pathr = path.replace('../','')
  18. pathr = path.replace('./','')
  19. hashlist[pathr.replace('\\','/')]=hashlib.md5(data).hexdigest()
  20. targetFile=os.path.join(targetfolder,'hash.json')
  21. with open(targetFile, 'w') as fp:
  22. json.dump(hashlist,fp)
  23. parser = argparse.ArgumentParser()
  24. parser.add_argument('-t',type=str)
  25. args=parser.parse_args()
  26. targetfolder = args.t
  27. generateHashFile()