python - 我怎么知道 python 3 使用的是 cPickle 还是 Pickle?

标签 python python-3.x file pickle

我看到这两个关于 Pickle 和 cPickle 的答案已经由 python 3 自动处理,对用户透明:

我怎么知道在 python 3 中,它是否使用快速版本 (cPickle)?我想强制它使用 cPickle。我的主要兴趣甚至不在速度上,而是在文件的较小尺寸上,因为我生成的文件最终会大于 1 GB。

最佳答案

除非您从源代码构建 Python 二进制文件,否则您几乎肯定会使用 C 扩展。

但是,如果您必须确定,请检查是否可以导入 _pickle 模块:

>>> import _pickle

pickle module imports _pickle并且只有在出现 ImportError 失败时才会使用纯 Python 实现。

明确一点:在 Python 2 中被称为 cPickle 的东西已经被重命名为 _pickle 并且是透明导入的,你不需要做任何明确的事情来制作使用它。在 Python 2 中,picklecPickle 之间存在分歧,这简直令人困惑。

关于python - 我怎么知道 python 3 使用的是 cPickle 还是 Pickle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55406089/

相关文章:

Python:如何标记此数据集

python - 模块未找到错误 : No module named 'pip.commands'

python - 获取表中记录的所有 parent / child

python - 了解 BitTorrent 片段输出

python-3.x - 如何从 Gtk 3 窗口动态添加/删除小部件

linux - 我想以某种方式获得 Linux 中文件的唯一标识符,有什么想法吗?

c++ - 使用 Xerces 从内存中加载 xml

c - 在xcode中添加多个.c文件

python - 什么是 numpy 方法 int0?

python - 用 Python 交换字符串中每对相邻字符的最简单方法是什么?