我如何知道特定版本的Python支持哪种版本的pickle?

时间:2011-07-14 00:36:49

标签: python pickle

我有一个需要Python 2.6的脚本。我将在下一个版本中添加一个大型的pickle数据库,我想使用最快版本的酸洗。如何判断每个版本的Python 2.6及更高版本中哪些版本的酸洗可用?

1 个答案:

答案 0 :(得分:6)

像这样:

>>> import pickle
>>> pickle.compatible_formats
['1.0', '1.1', '1.2', '1.3', '2.0']

修改

我认为依靠最新文档是安全的。例如pickle documentation for Python 3.2.1个州:

  

目前有4种不同的协议可供使用   酸洗。

     
      
  • 协议版本0是原始的人类可读协议,并且向后兼容早期版本的Python。

  •   
  • 协议版本1是旧的二进制格式,它也与早期版本的Python兼容。

  •   
  • 在Python 2.3中引入了协议版本2。它提供了更有效的新式类型的酸洗。

  •   
  • 在Python 3.0中添加了协议版本3。它具有明确的字节支持,并且不能被Python 2.x pickle模块打开。这
      是目前推荐的协议,只要有可能就使用它。

  •   

我认为这很容易确认!

要明确回答您的问题,这意味着Python 2.6-2.7支持Pickle版本< = 2.0,Python 3.0-3.2支持Pickle版本< = 3.0。