我需要将一个小的dict
对象保存到磁盘上,该对象的键类型为str
,值为int
的,然后将其恢复为。如下所示:
{'juanjo': 2, 'pedro':99, 'other': 333}
最好的选择是什么?为什么?使用pickle
或simplejson
序列化它
我使用的是Python 2.6。
发布于 2010-02-14 06:22:51
如果你没有任何的互操作性要求(例如,你只需要在Python中使用数据),二进制格式就可以了,那就用cPickle吧,它能让你真正快速地序列化Python对象。
如果您希望实现互操作性,或者希望使用文本格式来存储数据,请使用JSON (或其他一些适当的格式,具体取决于您的约束条件)。
发布于 2010-02-14 06:33:08
对于我的序列化,我更喜欢JSON而不是pickle。Unpickling可以运行任意代码,并且使用pickle
在程序之间传输数据或在会话之间存储数据是一个安全漏洞。JSON没有引入安全漏洞,并且是标准化的,因此如果您需要的话,可以使用不同语言的程序访问数据。
发布于 2011-06-02 22:30:42
您可能还会发现这很有趣,下面是一些可供比较的图表:http://kovshenin.com/archives/pickle-vs-json-which-is-faster/
https://stackoverflow.com/questions/2259270
复制相似问题