较小文件处理方法:
- importhashlib
- importos
- defget_md5_01(file_path):
- md5=None
- ifos.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()
- returnmd5
- if__name__=="__main__":
- file_path=r'D:/test/test.jar'
- md5_01=get_md5_01(file_path)
- print(md5_01)
较大文件处理方法:
- importhashlib
- importos
- defget_md5_02(file_path):
- f=open(file_path,'rb')
- md5_obj=hashlib.md5()
- whileTrue:
- d=f.read(8096)
- ifnotd:
- break
- md5_obj.update(d)
- hash_code=md5_obj.hexdigest()
- f.close()
- md5=str(hash_code).lower()
- returnmd5
- if__name__=="__main__":
- file_path=r'D:/test/test.jar'
- md5_02=get_md5_02(file_path)
- print(md5_02)
说明:对于同一个文件,两种方法计算得到的md5是一致的。
注:以上代码在Python 3.x版本测试通过。
新闻热点
疑难解答