我的数据结构如下:
user = UserTuple(
name=u'Anakin', surname=u'Skywalker', birthdate=datetime.date(1981, 7, 25),
profile=ProfileTuple(avatar=u'http://localhost/profile.jpg')
)
我想用msgpack python模块打包这些数据。但是msgpack将namedtuples转换为列表。像这样用msgpack打包数据并保留namedtuples是可能的,就像pickle/cpickle?在
msgpack支持自定义对象打包和解包。 您只需要为命名元组创建方法。在
请参阅此处的文档: https://github.com/msgpack/msgpack-python#packingunpacking-of-custom-data-type
您需要有最新的
msgpack-python
版本。v0.4.7
不起作用。(当前必须从主分支安装)。在这里我们分别将
User
、Profile
标记为类型代码1、2。或者,可以将所有namedtuple
视为相同的类型代码,并将实际类型存储在数据字段中。在相关问题 更多 >
编程相关推荐