Python中等效于java.util.zip.Inflater的是什么?
我有一个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)。