我不知道 python zlib 发生了什么

I don't know what is happening with python zlib

comp = z.compress("iasdfhuisahfiiunajsdfijniunadinfianlisdnf", 1)
z.decompress(comp, 1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
zlib.error: Error -2 while preparing to decompress data: inconsistent stream state

这似乎是一个 zlib 错误,但我想确定我没有做错任何事情。

zlib.decompress 不采用压缩级别参数。可选的第二个参数表示something completely different.

zlib.decompress(comp)

请注意,z.compress("iasdfhuisahfiiunajsdfijniunadinfianlisdnf", 1)中的“1”与z.decompress(comp, 1)中的“1”不同。

实际上第一个是压缩级别(从 0 到 9),而第二个是 window 大小,您可以省略它。

因此,您可以执行以下操作:

>>> import zlib as z
>>> comp = z.compress("iasdfhuisahfiiunajsdfijniunadinfianlisdnf", 1)
>>> z.decompress(comp)
'iasdfhuisahfiiunajsdfijniunadinfianlisdnf'

您可以找到更多信息here