【问题标题】:Python2: Should I use Pickle or cPickle?Python2:我应该使用 Pickle 还是 cPickle?
【发布时间】:2016-09-03 20:45:06
【问题描述】:

Python 2 具有用于序列化的 picklecPickle 模块。

cPicklepickle 有一个明显的优势:速度。 picklecPickle 有什么优势(如果有的话)?

【问题讨论】:

标签: python serialization pickle python-2.x


【解决方案1】:

我发现这个关于泡菜和 cPickle:

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

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

如果子类化对您的使用不重要,您可能想要使用 cPickle。"

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

【讨论】:

    【解决方案2】:

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

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

    Source 以上信息。

    【讨论】:

    • 对于那些在 Python3 中搜索 pickle / cPickle 使用的人,this SO answer 可能会有所帮助。
    • 从上面的链接中,@Martijn Pieters:“在 Python 3 中已经集成了加速版本,除了 import pickle 之外没有理由使用任何东西。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 2023-03-06
    • 2013-02-20
    相关资源
    最近更新 更多