检查zip文件是否损坏的Python脚本
我该怎么检查一个压缩文件是否损坏呢?我有一个压缩文件里面有10张jpg图片。我可以成功解压出8张图片,但里面有两张图片是坏的,我解压不出来。有没有办法在Python脚本里检查这个呢?
2 个回答
12
使用 zipfile
模块里的 testzip
函数,具体可以参考这个链接:http://docs.python.org/library/zipfile.html#zipfile.ZipFile.testzip
33
这段代码要么会抛出一个错误(如果这个压缩文件真的有问题,或者根本就不是一个压缩文件),要么会显示压缩文件里第一个出错的文件。
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.")