使用PPMD压缩的Zip文件,如何编程解压

1 投票
3 回答
5603 浏览
提问于 2025-04-15 15:45

我有一个在Linux上运行的Python脚本,需要解压一些zip文件。我之前使用的是zipfile模块。但是在处理其中几个文件时,我遇到了以下问题:

BadZipfile: Unsupported compression method 98 for file

经过搜索,我发现这些文件使用的是方法98 PPMD压缩。我想如果Python解压不了,那我就直接调用系统命令去用6.0版本解压,结果出现了错误:

skipping: fileName `PPMd' method not supported

我试过使用7zip:

Extracting  fileName     Unsupported Method

我以为找到了好办法,使用了一个命令行工具ppmd,但结果是:

Fast PPMII compressor for textual data, variant I, Nov  6 2009
Segmentation fault

还有其他方法可以尝试吗?在Windows上,WinZip可以顺利处理这些文件,但我需要在Linux上完成这个任务。

3 个回答

0

根据https://www.7-zip.org/history.txt,7-zip从9.11测试版(2010年3月15日)开始支持zip/ppmd格式。

哦,你提到了Python。是的,zipfile39模块应该会对你有帮助,正如@hiroshi miura所说。你也可以使用https://pypi.org/project/zipfile-ppmd/这个链接。

0

你有没有看过 p7zip 这个程序(可执行文件)?

它好像支持 PPMD 这种压缩格式。

一些 PPMD 的选项包括: -mmem=24b, -mmem=24k, -mmem=24m, -mo=2,还有 -mo=32。

1

你可以在这个链接找到支持PPMd压缩格式的zip文件工具:https://pypi.org/project/zipfile39/

撰写回答