读取Python中的二进制字符串,zlib

2024-10-02 16:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在dynamoDB中存储Python中的大型JSON(dict)。在

经过一些调查,似乎zlib是在一个好的水平上获得压缩的方法。使用下面的我可以对dict进行编码

ranking_compressed = zlib.compress(simplejson.dumps(response["Item"]["ranking"]).encode('utf-8'))

(绳子?)看起来是这样的:b'x\x9c\xc5Z\xdfo\xd3...。在

我可以直接将其解压,然后用以下方法恢复dict:

^{pr2}$

到目前为止一切都很好。但是,当把它放在dynamoDB中,然后用上面相同的解压代码读回它时。(绳子?)现在看起来像这样:

Binary(b'x\x9c\xc5Z\xdf...

我得到的错误是:

 bytes-like object is required, not 'Binary'

我试着用数据之类的数据访问二进制文件,但我找不到。在

感谢任何帮助。在


Tags: 数据方法json编码水平dynamodbcompresscompressed
1条回答
网友
1楼 · 发布于 2024-10-02 16:21:32

Boto3Binary对象具有value属性。在

# in general...
binary_obj.value
# for your specific case...
ranking_decompressed = simplejson.loads(str(zlib.decompress(response["Item"]["ranking_compressed"].value).decode('utf-8')))

奇怪的是,除了二进制类here的源代码之外,似乎没有任何地方记录这一点

相关问题 更多 >