计算文件md5值方法
# 计算文件md5
def get_md5(file_path, Bytes=1024):
md5 = hashlib.md5()
with open(file_path,'rb') as f:
while 1:
data = f.read(Bytes)
if data:
md5.update(data)
else:
break
result = md5.hexdigest()
return result
获取某一目录下所有文件方法
# 获取目录下所有文件
def get_file(path):
file_path = []
file = os.walk(path)
for root, dirs, files in file:
for file in files:
file_path.append(root + '\\' + file)
return file_path
计算某一目录下所有文件md5值,并输出到某一文件。(完整代码)
# coding:utf-8
import hashlib
import os
# 计算文件md5
def get_md5(file_path, Bytes=1024):
md5 = hashlib.md5()
with open(file_path,'rb') as f:
while 1:
data = f.read(Bytes)
if data:
md5.update(data)
else:
break
result = md5.hexdigest()
return result
# 获取目录下所有文件
def get_file(path):
file_path = []
file = os.walk(path)
for root, dirs, files in file:
for file in files:
file_path.append(root + '\\' + file)
return file_path
if __name__ == '__main__':
path = r'C:\xxx\xxx\xxx'
file_path_list = get_file(path)
with open('file_md5.log','w') as fp:
for file_path in file_path_list:
fp.write(file_path.replace(path,'')+'|'+get_md5(file_path)+'\n')
效果: