如何在 python 中使用 msgpack 打包数组?

Posted

技术标签:

【中文标题】如何在 python 中使用 msgpack 打包数组?【英文标题】:How to pack arrays iwht msgpack on python? 【发布时间】:2018-08-13 14:08:03 【问题描述】:

我有一个dict 的数组,如下所示:

gen = 0: [array([0])], 1: [array([1]), array([-1])]

我想用msgpack保存它们:

import msgpack

with open('data.msgpack', 'wb') as file:
    msgpack.pack(gen, file)

但它返回错误:

TypeError: 无法序列化数组([0])

有什么问题?

【问题讨论】:

【参考方案1】:

我没有评论的声誉,但是您不需要使用'array'初始化数组,只需使用[]就足够了。

话说,你可以看到一个用户here发布的类似代码

【讨论】:

我实际上需要保存一个第一个条目为 0 的数组。另外,我正在做与您链接到的代码相同的事情,但我没有字符串列表,而是一个列表数组 只需使用 gen = 0: [ [0] ], 1: [ [1], [-1] ] 是的,但我需要它们是数组 我不能用 msgpack 保存数组吗?

以上是关于如何在 python 中使用 msgpack 打包数组?的主要内容,如果未能解决你的问题,请参考以下文章

rpc框架yar之源码解析- 打包(json, msgpack, serialize)

msgpack可以提供更好的性能和相同的python的struct.pack()功能吗?

msgpack 能否提供更好的性能和与 python 的 struct.pack() 相同的功能?

如何解压 msgpack 文件?

Python下Json和Msgpack序列化比较

我如何使用 msgpack 读写?