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 917 B

12345678910111213141516171819202122232425262728293031323334
  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. if data.find('\r\n') != -1 :
  18. hashlist[path.replace('\\','/')]=hashlib.md5(data.replace('\n','\r\n')).hexdigest()
  19. else :
  20. hashlist[path.replace('\\','/')]=hashlib.md5(data).hexdigest()
  21. targetFile=os.path.join(targetfolder,'hash.json')
  22. with open(targetFile, 'w') as fp:
  23. json.dump(hashlist,fp)
  24. parser = argparse.ArgumentParser()
  25. parser.add_argument('-t',type=str)
  26. args=parser.parse_args()
  27. targetfolder = args.t
  28. generateHashFile()