Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用zipfile提取大型文件_Python_Zipfile - Fatal编程技术网

Python 使用zipfile提取大型文件

Python 使用zipfile提取大型文件,python,zipfile,Python,Zipfile,我正在尝试使用zipFilelibrary提取一个1.23GB的zip文件。但它给出了以下错误: compression type 9 (deflate64) 这是我的密码: zip_ref = zipfile.ZipFile(filepath, 'r') zip_ref.extractall(newPath) 它在尝试提取内容时出错 有没有办法用Python解压大型zip文件?之所以会出现这种情况,是因为压缩方法没有在zipfile模块中实现 关于这个问题的一些讨论如下: 修复方法是提出

我正在尝试使用
zipFile
library提取一个1.23GB的zip文件。但它给出了以下错误:

 compression type 9 (deflate64)
这是我的密码:

zip_ref = zipfile.ZipFile(filepath, 'r')
zip_ref.extractall(newPath)
它在尝试提取内容时出错


有没有办法用Python解压大型zip文件?

之所以会出现这种情况,是因为压缩方法没有在
zipfile
模块中实现

关于这个问题的一些讨论如下:

修复方法是提出一个
NotImplementedError
,而不是增加对压缩方法的支持

建议的解决办法:

  • 如果可能,请使用标准的deflate方法重新压缩文件
  • 使用
    子流程
    模块调用系统
    解压
    命令,假设它安装在您的操作系统上(如果它支持这种压缩方法,我真的不确定。我知道7-zip支持这种方法)

让我直说吧。没有办法修复此错误,唯一的解决方案是重新压缩文件并使用
解压
命令和
子流程
模块,该模块可能安装在我的系统中,也可能不安装,而不是
提取所有文件
?是的,至少以前是这样,我还没有听说添加了压缩方法。请注意,zip存档格式支持可插入的压缩方法,仅仅因为您有一个支持存档格式的库并不意味着它支持所有算法。但为什么它适用于小文件而不适用于大文件?我猜:您的存档程序会根据源输入动态更改方法。使用
zipinfo-v zipfile.zip
打印每个zip文件的信息,查看它使用的方法。