我是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/

10-10 09:22
查看更多