繁体   English   中英

我怎么知道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模块将导入_pickle并且只有在出现ImportError失败的情况下,它才会使用纯Python实现。

明确地说:在Python 2中被称为cPickle已重命名为_pickle并透明地导入,您无需做任何明确的操作即可使用它。 Python 2中的picklecPickle之间存在分歧,这简直令人困惑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM