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