如何检查 ZIP 文件是否损坏?我有一个包含 10 张 JPG 图像的 ZIP 文件。我能够提取其中 8 张图片。ZIP 文件中的两张图片已经损坏,我无法提取它们。是否有一种在 Python 脚本中检查这些的方法?
这段代码将会抛出异常(如果zip文件真的很糟糕或者不是一个zip文件),或者显示zip文件中第一个有问题的文件。
import sys
import zipfile
if __name__ == "__main__":
args = sys.argv[1:]
print("Testing zip file: %s" % args[0])
try:
the_zip_file = zipfile.ZipFile(args[0])
ret = the_zip_file.testzip()
if ret is not None:
print("First bad file in zip: %s" % ret)
sys.exit(1)
except Exception as ex:
print("Exception:", ex)
sys.exit(1)
print("Zip file is good.")
使用 zipfile
模块的 testzip
函数,详情请查看http://docs.python.org/library/zipfile.html#zipfile.ZipFile.testzip