{site_name}

{site_name}

🌜 搜索

Pythonmarshal是Python中的一种序列化模块,用于将Python对象转换为字节流,并在需要时反序列化回来

Python 𝄐 0
python marshal,python marshal \u0001,python marshmallow截取字段长度
Pythonmarshal是Python中的一种序列化模块,用于将Python对象转换为字节流,并在需要时反序列化回来。它可以将复杂的Python数据结构(如列表、元组、字典)转换成字节流并保存到文件或发送到网络,然后在需要时重新加载和使用。

Pythonmarshal主要有两个函数: dumps() 和 loads()。dumps()函数将Python对象序列化为字节流,而loads()函数则将字节流反序列化为原始Python对象。

下面是一个简单的例子:

python
import marshal

# 创建一个字典对象
my_dict = {'name': 'Alice', 'age': 25, 'hobby': ['reading', 'music']}

# 将字典对象序列化为字节流
bytes_data = marshal.dumps(my_dict)

# 打印字节流
print(bytes_data)

# 将字节流反序列化为Python对象
new_dict = marshal.loads(bytes_data)

# 打印反序列化后的Python对象
print(new_dict)


输出:


b'\x03\x00\x00\x00\x00\x00\x00\x00}\x94\x8c\x04name\x94\x8c\x05Alice\x94\x8c\x03ageK\x19\x8c\x05hobby]\x94\x8c\x06reading\x94\x8c\x05music\x94eu.'
{'name': 'Alice', 'age': 25, 'hobby': ['reading', 'music']}


在上面的代码中,我们首先创建了一个名为my_dict的字典对象,其中包含了一些键值对和一个名为hobby的列表。然后我们使用dumps()函数将字典对象序列化为字节流,并将其存储在变量bytes_data中。接着,我们打印了字节流的内容。最后,我们使用loads()函数将字节流反序列化为Python对象,并将结果存储在变量new_dict中,然后打印出来。