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

Pau*_*man 6 python pickle

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

jat*_*ism 7

像这样:

>>> import pickle
>>> pickle.compatible_formats
['1.0', '1.1', '1.2', '1.3', '2.0']
Run Code Online (Sandbox Code Playgroud)

编辑

我认为依靠最新文档是安全的.例如,Python 3.2.1pickle文档说明:

目前有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.