python 计算文件的md5值实例

951次阅读  |  发布于5年以前

较小文件处理方法:


    import hashlib
    import os

    def get_md5_01(file_path):
      md5 = None
      if os.path.isfile(file_path):
        f = open(file_path,'rb')
        md5_obj = hashlib.md5()
        md5_obj.update(f.read())
        hash_code = md5_obj.hexdigest()
        f.close()
        md5 = str(hash_code).lower()
      return md5

    if __name__ == "__main__":
      file_path = r'D:\test\test.jar'
      md5_01 = get_md5_01(file_path)
      print(md5_01)

较大文件处理方法:


    import hashlib
    import os

    def get_md5_02(file_path):
      f = open(file_path,'rb')  
      md5_obj = hashlib.md5()
      while True:
        d = f.read(8096)
        if not d:
          break
        md5_obj.update(d)
      hash_code = md5_obj.hexdigest()
      f.close()
      md5 = str(hash_code).lower()
      return md5

    if __name__ == "__main__":
      file_path = r'D:\test\test.jar'
      md5_02 = get_md5_02(file_path)
      print(md5_02)

说明:对于同一个文件,两种方法计算得到的md5是一致的。

注:以上代码在Python 3.x版本测试通过。

以上这篇python 计算文件的md5值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8