descomprimir el archivo da como resultado "BadZipFile: el archivo no es un archivo zip"

Tengo dos archivos zip, ambos se abren bien con Windows Explorer y 7-zip.

Sin embargo, cuando los abro con el módulo zipfile de Python [zipfile.ZipFile ("filex.zip")], uno de ellos se abre pero el otro da error "BadZipfile: File is not a zip file".

Me he asegurado de que este último sea un archivo Zip válido abriéndolo con 7-Zip y mirando sus propiedades (dice 7Zip.ZIP). Cuando abro el archivo con un editor de texto, los dos primeros caracteres son "PK", lo que demuestra que es un archivo zip.

Estoy usando Python 2.5 y realmente no tengo idea de cómo hacerlo. Lo he intentado tanto con Windows como con Ubuntu y el problema existe en ambas plataformas.

Actualizar: Rastreo de Python 2.5.4 en Windows:

Traceback (most recent call last):
File "<module1>", line 5, in <module>
    zipfile.ZipFile("c:/temp/test.zip")
File "C:\Python25\lib\zipfile.py", line 346, in init
    self._GetContents()
File "C:\Python25\lib\zipfile.py", line 366, in _GetContents
    self._RealGetContents()
File "C:\Python25\lib\zipfile.py", line 378, in _RealGetContents
    raise BadZipfile, "File is not a zip file"
BadZipfile: File is not a zip file

Básicamente cuando el_EndRecData se llama a la función para obtener datos del registro "Fin del directorio central", la comprobación de la longitud del comentario falla [endrec [7] == len (comentario)].

Los valores de los locales en el_EndRecData Las funciones son las siguientes:

 END_BLOCK: 4096,
 comment: '\x00',
 data: '\xd6\xf6\x03\x00\x88,N8?<e\xf0q\xa8\x1cwK\x87\x0c(\x82a\xee\xc61N\'1qN\x0b\x16K-\x9d\xd57w\x0f\xa31n\xf3dN\x9e\xb1s\xffu\xd1\.....', (truncated)
 endrec: ['PK\x05\x06', 0, 0, 4, 4, 268, 199515, 0],
 filesize: 199806L,
 fpin: <open file 'c:/temp/test.zip', mode 'rb' at 0x045D4F98>,
 start: 4073

Respuestas a la pregunta(7)

Su respuesta a la pregunta