unzipping a zipx file

Discussion in 'Python' started by b_erickson1, Apr 19, 2013.

  1. b_erickson1

    b_erickson1 Guest

    I have python 2.6.2 and I trying to get it to unzip a file made with winzippro. 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 atext 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?

    Thanks
    b_erickson1, Apr 19, 2013
    #1
    1. Advertising

  2. b_erickson1

    John Gordon Guest

    In <> "b_erickson1" <> writes:

    > ozFile = open(filename,'w')
    > ozFile.write(zFile.read(filename))
    > ozFile.close()


    Perhaps you want to use zFile.extract() instead of zFile.read()?

    --
    John Gordon A is for Amy, who fell down the stairs
    B is for Basil, assaulted by bears
    -- Edward Gorey, "The Gashlycrumb Tinies"
    John Gordon, Apr 19, 2013
    #2
    1. Advertising

  3. b_erickson1

    John Gordon Guest

    In <kks2mi$54d$> John Gordon <> writes:

    > In <> "b_erickson1" <> writes:


    > > ozFile = open(filename,'w')
    > > ozFile.write(zFile.read(filename))
    > > ozFile.close()


    > Perhaps you want to use zFile.extract() instead of zFile.read()?


    No, that's not it. Your code should work.

    You said the output file 'looks encrypted'. Is the source zip file
    encrypted?

    Is the source text file something other than plain ASCII?

    --
    John Gordon A is for Amy, who fell down the stairs
    B is for Basil, assaulted by bears
    -- Edward Gorey, "The Gashlycrumb Tinies"
    John Gordon, Apr 19, 2013
    #3
  4. 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
    Steven D'Aprano, Apr 20, 2013
    #4
  5. b_erickson1

    Dave Angel Guest

    On 04/19/2013 08:24 PM, Steven D'Aprano wrote:
    >
    >

    <SNIP>
    >
    > 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.
    >


    The zip header includes a 32bit CRC for each file. Do you know whether
    the zip module checks that CRC ?
    >
    > 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.
    >
    >
    >



    --
    DaveA
    Dave Angel, Apr 20, 2013
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Doug Tolton

    File unzipping

    Doug Tolton, Dec 9, 2003, in forum: Python
    Replies:
    0
    Views:
    284
    Doug Tolton
    Dec 9, 2003
  2. webcomm
    Replies:
    10
    Views:
    718
    John Machin
    Jan 10, 2009
  3. Dave Angel

    Re: unzipping a zipx file

    Dave Angel, Apr 19, 2013, in forum: Python
    Replies:
    0
    Views:
    131
    Dave Angel
    Apr 19, 2013
  4. Tim Chase

    Re: unzipping a zipx file

    Tim Chase, Apr 19, 2013, in forum: Python
    Replies:
    0
    Views:
    105
    Tim Chase
    Apr 19, 2013
  5. Serhiy Storchaka

    Re: unzipping a zipx file

    Serhiy Storchaka, Apr 20, 2013, in forum: Python
    Replies:
    0
    Views:
    125
    Serhiy Storchaka
    Apr 20, 2013
Loading...

Share This Page