按行传入
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()