我怎么知道 python 3 使用的是 cPickle 还是 Pickle?
How can I know if python 3 is using cPickle or 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 中 pickle
和 cPickle
之间存在分歧,这简直令人困惑。
我看到这两个关于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 中 pickle
和 cPickle
之间存在分歧,这简直令人困惑。