python - 使用 cPickle 在 2.4 中 pickle array.array

标签 python pickle monkeypatching python-2.4

我正在开发一个基于 python 2.4 的项目(这是一个嵌入式 python 项目,所以我无法选择使用的 python 版本)。在整个应用程序中,我们使用 array.array 来存储数据。

在 2.5 中,pickle(和 cPickle)添加了对 pickling array.array 对象的支持。当使用纯 python pickle 类时,我们在 2.4 中有一个可行的解决方法(我们将 Pickler/Unpickler 子类化来处理数组),但这不适用于 cPickle(由于性能问题,我们需要它)。

有什么建议吗?

最佳答案

可以使用标准库模块copy_reg注册函数来处理本身不支持 pickle 的类型的 pickle 实例; cPickle 将在需要时使用您注册的函数。我将完全应用这种“ Hook ”方法来满足您对 array.array 实例进行 pickle 的要求。

关于python - 使用 cPickle 在 2.4 中 pickle array.array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2338001/

相关文章:

ruby-on-rails - 在 BigDecimal 上定义检查的缺点

ruby - 有没有办法安全地覆盖给定类型的 Module#=== ?

python - 使用 pytest.fixture 选择退出功能

Python CGI 脚本不执行

python - Appengine - 在数据存储中存储 Pickled

python - 使用 python 3.5 安装 cPickle

Python字典在字典中切换键

python - 将 Pandas DataFrame 中的行对齐到每列的最大值

python - Python中pickle的常见用例

java - 是否可以在 Java 中进行猴子补丁?