我是python的新手,想实现快速对象序列化。我试图使用json,但是速度太慢,也试图使用marshall模块,但是由marshall序列化的对象的大小是pickle的6到7倍,所以我决定在我的项目中使用pickle。我读了有关cPickle模块的信息,读得很快,但是python 3中没有这样的模块,而文档说名为_pickle的模块是用C编写的。所以在我的项目中,我使用
import _pickle as pickle
pickle和_pickle有什么区别吗?我如何实现更快的对象序列化/反序列化?
最佳答案
pickle
模块已经导入_pickle
(如果可用)。它是pickle
模块的C优化版本,并且透明使用。
从 pickle.py
source code:
# Use the faster _pickle if possible
try:
from _pickle import *
except ImportError:
Pickler, Unpickler = _Pickler, _Unpickler
并从
pickle
module documentation:在Python 2中,
_pickle
称为cPickle
,但已更新为允许透明地用作实现细节。关于python - python 3中的pickle和_pickle有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19191859/