Как проверить, поврежден ли zip файл или нет.... например, у меня есть zip файл с 10-jpg-изображениями, которые я могу извлечь, например, из 8 изображений два изображения в zip повреждены, и я я не могу извлечь, есть ли способ проверить это в python script
Python script, чтобы проверить, поврежден ли zip файл
Ответ 1
Этот код либо выдает исключение (если 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. Но это основы.
Ответ 2
Используйте функцию zipfile
модуля testzip
, см. http://docs.python.org/library/zipfile.html#zipfile.ZipFile.testzip