使用PPMD压缩的Zip文件,如何编程解压
我有一个在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/