python字典序列化是什么意思_如何将Python字典序列化为字符串,然后回到字典?...

本文介绍了在Python中如何使用pickle和cPickle进行对象序列化,以及如何使用json和simplejson进行数据交换。对于简单的数据类型如字典,json和simplejson提供更易于阅读的格式;而对于复杂对象,pickle和cPickle提供了更强大的序列化支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这取决于你想要使用它。如果你只是试图保存它,你应该使用

pickle(或

cPickle,这是更快,如果使用CPython,因为你可能是)。

>>> import cPickle

>>> cPickle.dumps({'foo': 'bar'})

"(dp1\nS'foo'\np2\nS'bar'\np3\ns."

>>> cPickle.loads(_)

{'foo': 'bar'}

然而,如果你想要它是可读的,你可以使用json

>>> import json

>>> json.dumps({'foo': 'bar'})

'{"foo": "bar"}'

>>> json.loads(_)

{u'foo': u'bar'}

>>> import simplejson

>>> simplejson.dumps({'foo': 'bar'})

'{"foo": "bar"}'

>>> simplejson.loads(_)

{'foo': 'bar'}

json和simplejson在他们将支持什么是非常有限的。 cPickle可以用于对象(如果它不能自动工作,类可以定义__getstate__来精确指定它应该如何被选择)。

>>> cPickle.dumps(object())

'ccopy_reg\n_reconstructor\np1\n(c__builtin__\nobject\np2\ng2\nNtRp3\n.'

>>> json.dumps(object())

Traceback (most recent call last):

...

TypeError: is not JSON serializable

>>> simplejson.dumps(object())

Traceback (most recent call last):

...

TypeError: is not JSON serializable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值