【发布时间】:2023-03-04 22:58:01
【问题描述】:
如何用msgpack 序列化/反序列化字典data?
【问题讨论】:
如何用msgpack 序列化/反序列化字典data?
【问题讨论】:
Python docs 似乎不太好,所以这是我的尝试。
pip install msgpack
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import msgpack
# Define data
data = {
"a list": [1, 42, 3.141, 1337, "help"],
"a string": "bla",
"another dict": {"foo": "bar", "key": "value", "the answer": 42},
}
# Write msgpack file
with open("data.msgpack", "wb") as outfile:
packed = msgpack.packb(data)
outfile.write(packed)
# Read msgpack file
with open("data.msgpack", "rb") as data_file:
byte_data = data_file.read()
data_loaded = msgpack.unpackb(byte_data)
print(data == data_loaded)
对于您的应用程序,以下内容可能很重要:
另见:Comparison of data serialization formats
如果您正在寻找一种制作配置文件的方法,您可能想阅读我的短文Configuration files in Python
【讨论】:
msgpack。但我也不知道任何其他支持 msgpack 的 Python 包。
rb 标志添加到文件打开函数中(我已阅读,不确定是否编写)。