按行传入
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值的方法:逐行读取和按块读取。逐行读取适用于行数较少的文件,而按块读取则更适用于大型文件,通过将文件分为多个块来减少内存占用。
1320

被折叠的 条评论
为什么被折叠?



