Python中等效于java.util.zip.Inflater的是什么?

4 投票
2 回答
1701 浏览
提问于 2025-04-16 00:20

我有一个Java程序,它打开一个套接字连接到一个服务器,这个服务器会发送经过Zip压缩的数据。我从这个流中读取数据(用bytebuffer),然后把这个数据放到zip对象里(用setInput(bytebuffer)),最后用inflate(outputbuffer)来获取解压后的数据。

那么在Python中,怎么做呢?

下面是Java代码:

byte[] compressedBytes = new byte[1024];
int bytesRead = inputStream.read(compressedBytes);
zip.setInput(compressedBytes, 0, bytesRead);
zip.inflate(uncompressedBytes, 0, 1024);

总之,我需要一个在Python中可以进行流式解压(不是基于文件的)Zip选项。

2 个回答

1

看看 zlib.decompressobj() 这个东西。我觉得它能满足你的需求。你可以查看这个链接了解更多信息:http://docs.python.org/library/zlib.html

1

你在找的是zlib模块。其实,java.util.zip是一个使用zlib的实现,而不是Zip(也就是PKZIP)。

撰写回答