【问题标题】:Python unzip large file - NotImplementedError: compression type 98Python解压缩大文件-NotImplementedError:压缩类型98
【发布时间】:2016-06-15 21:27:55
【问题描述】:

我正在使用以下 Python 代码解压缩文件

import zipfile
zfile = zipfile.ZipFile(input_file_path)
zfile.extractall(output_path)

但是,当我尝试解压缩更大的文件时。它会引发以下错误。

NotImplementedError:压缩类型 98 (ppmd)

我应该如何解决这个错误?

谢谢。

【问题讨论】:

标签: python unzip zipfile


【解决方案1】:

Python 的 zipfile 模块不支持 PPMd 压缩——请参阅 issue 14366(已添加重点):

我认为我们应该添加注册新编解码器的功能。 在可预见的将来,Python 不太可能出现对 PPMd、jpeg 和 WavPack 的支持,但第三方库(例如 PIL)的用户将根据需要使用新的编解码器。

只有两种选择:

  • 使用来自 Python 的外部 zip 程序和 subprocess 模块。 p7zip 程序可以很好地完成这项工作。

  • 修改 Python 以将 PPMd 支持添加到 zipfile 模块。

请记住,PPMd 是一种极不常用的编解码器,因此大多数程序(包括常规的unzip)根本不支持它。

【讨论】:

  • 谢谢@Dietrich Epp,我需要在 Unix 终端服务器上运行 Python 代码,所以我只能使用您建议的第二种解决方案。您知道任何可以帮助我添加 PPMd 支持的资源吗?
  • @merimini:你在说什么? subprocess 在终端上可以正常工作。
猜你喜欢
  • 2010-12-23
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
相关资源
最近更新 更多