大文件计算MD5值 ——Python

按行传入

import hashlib 
m=hashlib.md5()

f=open(file_path,'rb')           #以二进制读的方式打开文件
for line in f:                   #每次传入一"行"
    m.update(line)               #md5值更新
md5_value=m.hexdigest()          #进制转化
f.close()                        #关闭文件

每次传入一个chunck

def md5_calc(file):        
    md5_value=hashlib.md5()
    with open(file,'rb') as file_b:
        while True:
            data_flow=file_b.read(8096)       #每次读入8089kb进入内存
            if not data_flow:                 #读取完后返回空值,False
                break
            md5_value.update(data_flow)
    file_b.close()
    return md5_value.hexdigest()

你可能感兴趣的:(大文件计算MD5值 ——Python)