阅读量:0
要实现文件MD5码的批量存储,可以按照以下步骤进行操作:
- 导入
hashlib
模块,该模块提供了各种哈希算法,包括MD5。
import hashlib
- 定义一个函数来计算文件的MD5码。该函数接受文件路径作为输入,并返回文件的MD5码。
def calculate_md5(file_path): # 创建一个MD5对象 md5 = hashlib.md5() # 打开文件并逐行读取内容进行更新 with open(file_path, 'rb') as file: for line in file: md5.update(line) # 返回文件的MD5码 return md5.hexdigest()
- 定义一个函数来批量计算文件的MD5码并存储。该函数接受一个文件夹路径作为输入,遍历文件夹中的所有文件并计算每个文件的MD5码,并将MD5码与文件名存储到一个字典中。
def batch_calculate_md5(folder_path): # 创建一个空字典用于存储文件名与MD5码的对应关系 md5_dict = {} # 遍历文件夹中的所有文件 for file_name in os.listdir(folder_path): # 拼接文件路径 file_path = os.path.join(folder_path, file_name) # 计算文件的MD5码 md5 = calculate_md5(file_path) # 将文件名与MD5码存储到字典中 md5_dict[file_name] = md5 # 返回存储了文件名与MD5码对应关系的字典 return md5_dict
- 调用
batch_calculate_md5
函数,并将MD5码存储到文件中。可以使用json
模块将字典转换为JSON字符串,并写入到文件中。
import json md5_dict = batch_calculate_md5('/path/to/folder') # 将字典转换为JSON字符串 json_data = json.dumps(md5_dict) # 将JSON字符串写入到文件中 with open('/path/to/output_file.json', 'w') as file: file.write(json_data)
这样,文件夹中的所有文件的MD5码就会计算出来,并存储到指定文件中。