通常,在使用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相同,则表示文件校验通过,否则表示文件校验失败。