Python2:我应该使用Pickle还是cPickle? [关闭]

问题描述 投票:42回答:2

Python 2同时具有picklecPickle模块进行序列化。

cPicklepickle相比有一个明显的优势:速度。 picklecPickle有什么优势?

python serialization pickle python-2.x
2个回答
48
投票

pickle模块实现了一种用于将任意Python对象转换为一系列字节的算法。此过程也称为序列化对象。然后,可以传输或存储表示对象的字节流,然后再重建以创建具有相同特征的新对象。

cPickle模块在C中实现相同的算法,而不是Python。它比Python实现快很多倍,但不允许用户从Pickle继承子类。如果子类化对您的使用不重要,则可能要使用cPickle。

以上信息的Source


7
投票

我发现这是关于泡菜和cPickle的:

“ pickle模块实现了一种用于将任意Python对象转换为一系列字节的算法。...

cPickle模块使用C而不是Python实现相同的算法。它比Python实现快很多倍但不允许用户从Pickle继承子类。

如果子类对您的使用不重要,则可能要使用cPickle。“

来源:https://pymotw.com/2/pickle/

© www.soinside.com 2019 - 2024. All rights reserved.