TypeError:需要类似字节的对象,而不是';str';在Python中使用zlib压缩方法时
我运行了以下代码:TypeError:需要类似字节的对象,而不是';str';在Python中使用zlib压缩方法时,python,python-3.x,Python,Python 3.x,我运行了以下代码: import zlib import sys s = 'aaaaaaaaaaaaaaaaaaaaaaaaaa' t = sys.getsizeof(zlib.compress(s)) print(t) print(sys.getsizeof(zlib.decompress(t))) 我得到以下错误: TypeError: a bytes-like object is required, not 'str' 如果类型为字节,则可以压缩s: s=b'aaaaaaaaaaaaa
import zlib
import sys
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaa'
t = sys.getsizeof(zlib.compress(s))
print(t)
print(sys.getsizeof(zlib.decompress(t)))
我得到以下错误:
TypeError: a bytes-like object is required, not 'str'
如果类型为
字节
,则可以压缩s
:
s=b'aaaaaaaaaaaaaaaaaa'
然后返回t
的44
。但我不知道,你为什么要解压一个整数
也许这个例子应该是这样的:
import zlib
import sys
s = b'aaaaaaaaaaaaaaaaaaaaaaaaaa'
c = zlib.compress(s)
d = zlib.decompress(c)
print(s, sys.getsizeof(s))
print(c, sys.getsizeof(c))
print(d, sys.getsizeof(d))
给
b'aaaaaaaaaaaaaaaaaaaaaaaaaa' 59
b'x\x9cKL\xc4\x05\x00\x85\x19\t\xdb' 44
b'aaaaaaaaaaaaaaaaaaaaaaaaaa' 59
如果类型为
字节
,则可以压缩s
:
s=b'aaaaaaaaaaaaaaaaaa'
然后返回t
的44
。但我不知道,你为什么要解压一个整数
也许这个例子应该是这样的:
import zlib
import sys
s = b'aaaaaaaaaaaaaaaaaaaaaaaaaa'
c = zlib.compress(s)
d = zlib.decompress(c)
print(s, sys.getsizeof(s))
print(c, sys.getsizeof(c))
print(d, sys.getsizeof(d))
给
b'aaaaaaaaaaaaaaaaaaaaaaaaaa' 59
b'x\x9cKL\xc4\x05\x00\x85\x19\t\xdb' 44
b'aaaaaaaaaaaaaaaaaaaaaaaaaa' 59
这回答了你的问题吗?这回答了你的问题吗?