我已经解析了一个大型语料库,并且我已经在字典结构中保存了我需要的数据。但在我的代码结束时,我已将其保存为.txt文件,因为我需要手动检查某些内容。现在在我工作的另一部分,我需要字典作为我的输入。我想知道是否还有其他方法,而不仅仅是打开文本文件并重新将其作为字典结构。如果我可以操纵我的另一个也保持原样。 Pickle对我的案子来说是正确的吗?或者我完全走错了路?抱歉,如果我的问题太天真了,我对python很陌生,我还在学习它。
答案 0 :(得分:3)
复制&从Pickle or json?粘贴 为了便于阅读。
如果您没有任何互操作性要求(即您只是将数据用于Python),并且二进制格式正常,请使用cPickle,它可以为您提供非常快速的Python对象序列化。
如果您需要互操作性,或者希望文本格式存储数据,请使用JSON(或其他一些适当的格式,具体取决于您的约束)。
根据以上所述,我想您希望cPickle
超过json
然而,我发现另一篇文章很有意思:http://kovshenin.com/2010/pickle-vs-json-which-is-faster/,证明json
比pickle
快得多(作者在cPickle
文章中指出比pickle
快,但比json
这个SO答案What is faster - Loading a pickled dictionary object or Loading a JSON file - to a dictionary?比较了6个不同的库。
此外,如果您使用pypy,json
可能非常快。
最后,一些最近的分析数据https://gist.github.com/schlamar/3134391。