2024-03-28 18:51:45 发布
网友
我需要保存到磁盘一点dict对象,它的键是str类型,值是ints,然后恢复它。像这样的:
dict
str
int
{'juanjo': 2, 'pedro':99, 'other': 333}
什么是最好的选择?为什么?用pickle或simplejson序列化它?
pickle
simplejson
我正在使用Python2.6。
你也可能会发现这很有趣,有一些图表可以比较:http://kovshenin.com/archives/pickle-vs-json-which-is-faster/
在序列化方面,我更喜欢JSON而不是pickle。Unpickling可以运行任意代码,使用pickle在程序之间传输数据或在会话之间存储数据是一个安全漏洞。JSON没有引入安全漏洞,而且是标准化的,因此如果需要,可以通过不同语言的程序访问数据。
如果您没有任何互操作性要求(例如,您只是将数据与Python一起使用),并且二进制格式很好,那么可以使用cPickle,这将为您提供非常快速的Python对象序列化。
如果您想要互操作性,或者想要文本格式来存储数据,请使用JSON(或者其他适当的格式,具体取决于您的约束条件)。
你也可能会发现这很有趣,有一些图表可以比较:http://kovshenin.com/archives/pickle-vs-json-which-is-faster/
在序列化方面,我更喜欢JSON而不是pickle。Unpickling可以运行任意代码,使用
pickle
在程序之间传输数据或在会话之间存储数据是一个安全漏洞。JSON没有引入安全漏洞,而且是标准化的,因此如果需要,可以通过不同语言的程序访问数据。如果您没有任何互操作性要求(例如,您只是将数据与Python一起使用),并且二进制格式很好,那么可以使用cPickle,这将为您提供非常快速的Python对象序列化。
如果您想要互操作性,或者想要文本格式来存储数据,请使用JSON(或者其他适当的格式,具体取决于您的约束条件)。
相关问题 更多 >
编程相关推荐