2011-02-02 47 views
11

¿Cómo puedo comprobar si un archivo zip está dañado o no ...? Como tengo un archivo zip con 10 imágenes de jpg que puedo extraer decir 8 de las imágenes de dos de las imágenes de la postal son corruptos y no soy capaz de extraer es que hay una manera de comprobar esto en un script en PythonScript de Python para comprobar si un archivo zip está corrupto

Respuesta

16

este código ya sea una excepción (si el archivo zip es realmente malo o si no es un archivo zip), o muestre el primer archivo incorrecto en el archivo 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) 

Debería, por supuesto, encerrar esto en las cláusulas try/except adecuadas. Pero eso es lo básico.

+0

¿hay alguna manera similar de verificar el archivo de Winrar? –

Cuestiones relacionadas