当前位置: 首页 > 图灵资讯 > 行业资讯> Python中对象序列化以及反序列化的方法

Python中对象序列化以及反序列化的方法

来源:图灵python
时间: 2025-03-04 22:13:49

面对Python代码, 若要用Class对数据进行序列化和反序列化, 执行过程可能会以普通的方式增加, 我们有这样一个例子:

#!/usr/bin/envpython
#_*_coding:UTF-8_*_

classData:
params:None


data=[
{
'params':'Medusa'
},
{
'params':0
}
]

假如我们想用Data实例将Data组成数组, 您可能需要直接实例数据, 并用列表装载实例对象, 当然了, 您可以进行for循环实例,并将其添加到事先声明的列表中, 然后你可能会想到生成器, 更加简单, 这种需求可以实现, 那我们试想一下, 如何将我们生成的列表对象还原为data数据?

在Python代码中, 当然,我们可以实现, 实现方法可能没那么美观。

此时我们需要这样做:

python-mpipinstallattrs
python-mpipinstallcattrs

安装两个库:attrs和cattrs, 那我们怎么用呢? 看例子:

#!/usr/bin/envpython
#_*_coding:UTF-8_*_
fromattrimportattrs,attrib
fromcattrimportstructure,unstructure


@attrs
classData:
params=attrib()


data={
'params':'Medusa',
}

instance=structure(data,Data)
json=unstructure(instance)

输出instance和json的值:

#instance:
Data(params='Medusa')

#json:
{'params':'Medusa'}

我们使用instancee.Params获得的值为Medusa, 你知道如何在对象之间序列化和反序列化吗? 是的, 当然了, 你可能有更好的库, 欢迎分享您的留言~

上一篇:

Python实现Scheme

下一篇:

返回列表