0

I want to unzip a file of type *.sec.gz which is a zipfile. But i'm getting badfile.....Can someone guide to resolve this.....File present in the folder is of type *.sec ........Thanks in advance

import zipfile
def unzip(path):
    zfile = zipfile.ZipFile(path)
    for name in zfile.namelist():
        (dirname, filename) = os.path.split(name)
        if filename == '':
            # directory
            if not os.path.exists(dirname):
                os.mkdir(dirname)
        else:
            # file
            fd = open(name, 'w')
            fd.write(zfile.read(name))
            fd.close()
    zfile.close()

k=unzip('C://test//08October2014//DATA_INTV_NEW//Oct0814//1.sec.gz')

Output:

BadZipfile                                Traceback (most recent call last)
<ipython-input-7-5134b63e752e> in <module>()
     27     zfile.close()
     28 
---> 29 k=unzip('C://test//08October2014//DATA_INTV_NEW//Oct0814//1.sec.gz')

<ipython-input-7-5134b63e752e> in unzip(path)
     13 
     14 def unzip(path):
---> 15     zfile = zipfile.ZipFile(path)
     16     for name in zfile.namelist():
     17         (dirname, filename) = os.path.split(name)

C:\Python27\Lib\zipfile.pyc in __init__(self, file, mode, compression, allowZip64)
    768         try:
    769             if key == 'r':
--> 770                 self._RealGetContents()
    771             elif key == 'w':
    772                 # set the modified flag so central directory gets written

C:\Python27\Lib\zipfile.pyc in _RealGetContents(self)
    809             raise BadZipfile("File is not a zip file")
    810         if not endrec:
--> 811             raise BadZipfile, "File is not a zip file"
    812         if self.debug > 1:
    813             print endrec

BadZipfile: File is not a zip file
Rahul Nikate
  • 6,192
  • 5
  • 42
  • 54
  • http://stackoverflow.com/questions/20762094/how-are-zlib-gzip-and-zip-related-what-are-is-common-and-how-are-they-differen – Furkan Omay Nov 05 '14 at 09:38

1 Answers1

3

The error message is completely accurate: that is not a zip file. It is a gzip file, which is something completely different. You should use the gzip module.

Daniel Roseman
  • 588,541
  • 66
  • 880
  • 895