Pickle还是json?

2024-03-28 18:51:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要保存到磁盘一点dict对象,它的键是str类型,值是ints,然后恢复它。像这样的:

{'juanjo': 2, 'pedro':99, 'other': 333}

什么是最好的选择?为什么?用picklesimplejson序列化它?

我正在使用Python2.6。


Tags: 对象类型序列化pickledict磁盘othersimplejson
3条回答

你也可能会发现这很有趣,有一些图表可以比较:http://kovshenin.com/archives/pickle-vs-json-which-is-faster/

在序列化方面,我更喜欢JSON而不是pickle。Unpickling可以运行任意代码,使用pickle在程序之间传输数据或在会话之间存储数据是一个安全漏洞。JSON没有引入安全漏洞,而且是标准化的,因此如果需要,可以通过不同语言的程序访问数据。

如果您没有任何互操作性要求(例如,您只是将数据与Python一起使用),并且二进制格式很好,那么可以使用cPickle,这将为您提供非常快速的Python对象序列化。

如果您想要互操作性,或者想要文本格式来存储数据,请使用JSON(或者其他适当的格式,具体取决于您的约束条件)。

相关问题 更多 >