用于检查zip文件是否已损坏的Python脚本

时间:2011-02-02 14:42:00

标签: python zip

我如何检查一个zip文件是否已损坏....就像我有一个包含10个jpg图像的zip文件我能够提取出8个图像中的两个图像在zip中是腐败的我我无法解压是否有办法在python脚本中检查这个

2 个答案:

答案 0 :(得分:19)

此代码将抛出异常(如果zip文件非常糟糕或者它不是zip文件),或者在zip文件中显示第一个错误文件。

import os
import sys
import zipfile

if __name__ == "__main__":
    args = sys.argv[1:]


    print "Testing zip file: %s" % args[0]

    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)
    else:
        print "Zip file is good."
        sys.exit(0)

当然,您应该将这些内容包含在正确的try / except子句中。但那是基础。

答案 1 :(得分:4)

使用zipfile模块testzip功能,请参阅http://docs.python.org/library/zipfile.html#zipfile.ZipFile.testzip