无法解压缩压缩fi

2024-03-29 09:40:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用Python的zipfile模块在脚本中解压缩zip文件。问题是当我试图解压这个文件时,它会引发Bad magic number for file header error

这是error

..
  zip_ref.extractall(destination_to_unzip_file)
  File "C:\Python27\lib\zipfile.py", line 1040, in extractall
    self.extract(zipinfo, path, pwd)
  File "C:\Python27\lib\zipfile.py", line 1028, in extract
    return self._extract_member(member, path, pwd)
  File "C:\Python27\lib\zipfile.py", line 1082, in _extract_member
    with self.open(member, pwd=pwd) as source, \
  File "C:\Python27\lib\zipfile.py", line 971, in open
    raise BadZipfile("Bad magic number for file header")
zipfile.BadZipfile: Bad magic number for file header

我要解压的文件是这样下载的:

^{pr2}$

有人知道问题出在哪里吗?在


Tags: 文件inpynumberlibmagicpwdline
2条回答

Quoththe documentation for ^{}:“打开二进制文件时,应该将'b'附加到mode值后,以二进制模式打开文件

使用b打开二进制文件:

with open(_destination_for_downloads+'platici_dph.zip','wb') as f:

我尝试过不使用下载代码下载存档文件,然后使用以下方法提取:

import zipfile
with zipfile.ZipFile("ds_dphs_csv.zip") as a:
        a.extractall()

效果很好。例外zipfile.BadZipfile是在头中出现问题时引发的,因此我认为您的文件在下载后已损坏。你的下载方法一定有问题。在

您可以在本文中找到有关异常的详细信息:Python - Extracting files from a large (6GB+) zip file

相关问题 更多 >