Python怎么實(shí)現(xiàn)文件MD5碼批量存儲(chǔ)

小億
122
2024-01-30 09:56:57
欄目: 云計(jì)算

要實(shí)現(xiàn)文件MD5碼的批量存儲(chǔ),可以按照以下步驟進(jìn)行操作:

  1. 導(dǎo)入hashlib模塊,該模塊提供了各種哈希算法,包括MD5。
import hashlib
  1. 定義一個(gè)函數(shù)來(lái)計(jì)算文件的MD5碼。該函數(shù)接受文件路徑作為輸入,并返回文件的MD5碼。
def calculate_md5(file_path):
    # 創(chuàng)建一個(gè)MD5對(duì)象
    md5 = hashlib.md5()
    
    # 打開文件并逐行讀取內(nèi)容進(jìn)行更新
    with open(file_path, 'rb') as file:
        for line in file:
            md5.update(line)
    
    # 返回文件的MD5碼
    return md5.hexdigest()
  1. 定義一個(gè)函數(shù)來(lái)批量計(jì)算文件的MD5碼并存儲(chǔ)。該函數(shù)接受一個(gè)文件夾路徑作為輸入,遍歷文件夾中的所有文件并計(jì)算每個(gè)文件的MD5碼,并將MD5碼與文件名存儲(chǔ)到一個(gè)字典中。
def batch_calculate_md5(folder_path):
    # 創(chuàng)建一個(gè)空字典用于存儲(chǔ)文件名與MD5碼的對(duì)應(yīng)關(guān)系
    md5_dict = {}
    
    # 遍歷文件夾中的所有文件
    for file_name in os.listdir(folder_path):
        # 拼接文件路徑
        file_path = os.path.join(folder_path, file_name)
        
        # 計(jì)算文件的MD5碼
        md5 = calculate_md5(file_path)
        
        # 將文件名與MD5碼存儲(chǔ)到字典中
        md5_dict[file_name] = md5
    
    # 返回存儲(chǔ)了文件名與MD5碼對(duì)應(yīng)關(guān)系的字典
    return md5_dict
  1. 調(diào)用batch_calculate_md5函數(shù),并將MD5碼存儲(chǔ)到文件中??梢允褂?code>json模塊將字典轉(zhuǎn)換為JSON字符串,并寫入到文件中。
import json

md5_dict = batch_calculate_md5('/path/to/folder')

# 將字典轉(zhuǎn)換為JSON字符串
json_data = json.dumps(md5_dict)

# 將JSON字符串寫入到文件中
with open('/path/to/output_file.json', 'w') as file:
    file.write(json_data)

這樣,文件夾中的所有文件的MD5碼就會(huì)計(jì)算出來(lái),并存儲(chǔ)到指定文件中。

0