unzipping a zipx file

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Apr 19 20:24:22 EDT 2013


On Fri, 19 Apr 2013 17:59:26 +0000, b_erickson1 wrote:

> I have python 2.6.2 and I trying to get it to unzip a file made with
> winzip pro.  The file extension is zipx.  This is on a windows machine
> where I have to send them all that files necessary to run.  I am
> packaging this with py2exe.  I can open the file with zFile =
> zipfile.ZipFile(fullPathName,'r') and I can look through all the file in
> the archive for filename in zFile.namelist():
> but when I write the file out with this code:
>             ozFile = open(filename,'w')
>             ozFile.write(zFile.read(filename))
>             ozFile.close()
> that file still looks encrypted.  No errors are thrown.  The file is
> just a text file not a jpeg or anything else.  I can open the file with
> 7zip and extract the text file out just fine.
> 
> 
> What am I missing?


You are missing that zipx is not the same as zip, and Python very likely 
does not support the zipx compression algorithm.

http://kb.winzip.com/kb/entry/7/

My guess is that the zipx header is similar enough to zip that Python can 
retrieve the file names, but it cannot decompress the files. 
Unfortunately, instead of getting a nice error, it is fooled into 
thinking that it decompressed when in fact you just got junk.


I suggest that you start with a simple example: create a plain text file 
with just a few words. Compress this single file to .zipx, then try to 
decompress it using Python. If it still fails, you will have a simple 
example that you could post here and see if others have more success.



-- 
Steven



More information about the Python-list mailing list