通常,在使用extractAll解壓縮文件后,可以使用校驗方法來驗證解壓縮后的文件是否正確。以下是一種簡單的校驗方法:
import hashlib
import os
def calculate_hash(file_path):
with open(file_path, 'rb') as f:
hash_md5 = hashlib.md5()
for chunk in iter(lambda: f.read(4096), b''):
hash_md5.update(chunk)
return hash_md5.hexdigest()
def verify_extracted_files(dir_path, checksum):
for root, dirs, files in os.walk(dir_path):
for file_name in files:
file_path = os.path.join(root, file_name)
file_hash = calculate_hash(file_path)
if file_hash == checksum:
print(f"{file_path} verified successfully")
else:
print(f"{file_path} failed verification")
# Example usage
extracted_dir = "/path/to/extracted/files"
checksum = "af2cdd6c3e0e89e4be4dd9f4f74b4fab" # MD5 checksum of the original file
verify_extracted_files(extracted_dir, checksum)
在上面的例子中,calculate_hash函數用于計算文件的MD5哈希值,然后verify_extracted_files函數遍歷解壓縮后的文件夾中的所有文件,并與指定的checksum進行比較,以驗證文件是否正確解壓縮。如果文件的哈希值與checksum相同,則表示文件校驗通過,否則表示文件校驗失敗。