python计算文件md5值
生活随笔
收集整理的這篇文章主要介紹了
python计算文件md5值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
較小文件處理方法:
import hashlib import osdef GetSmallFile(file_path):md5 = Noneif 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 md5md5 = GetSmallFile(file_path)print(md5)較大文件處理方法:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import hashlib import os"""獲取文件Md5值file_path = r'/opt/code/my_code/zk_css/zk_css.cnf'md5_02 = GetBigFileMd5Value(file_path)"""def GetBigFileMd5Value(file_path):f = open(file_path, 'rb')md5_obj = hashlib.md5()while True:d = f.read(8096)if not d:breakmd5_obj.update(d)hash_code = md5_obj.hexdigest()f.close()md5 = str(hash_code).lower()return md5報錯、解決方案
TypeError: Unicode-objects must be encoded before hashing
>>> a = "張三李四王五趙六" >>> md5_obj.update(a) Traceback (most recent call last):File "<stdin>", line 1, in <module> TypeError: Unicode-objects must be encoded before hashing方法:
>>> md5_obj.update(a.encode("utf-8")) >>> md5_obj.hexdigest() 'deeea258a3f22c6dd9307e4dd2b6c016'總結
以上是生活随笔為你收集整理的python计算文件md5值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python传参是传值还是传引用
- 下一篇: Python高阶函数--map、lamb