解压缩文件

时间:2014-11-05 09:36:58

标签: python zipfile

我想解压缩* .sec.gz类型的文件,这是一个zipfile。但我得到badfile .....有人可以指导解决这个问题.....文件夹中存在的文件类型为* .sec ........提前致谢

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')

输出:

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

1 个答案:

答案 0 :(得分:3)

错误消息完全准确:这不是zip文件。它是一个gzip文件,完全不同。您应该使用gzip module