CPython与IronPython cPickle的兼容性

5 投票
2 回答
895 浏览
提问于 2025-04-16 05:08

我在想,使用CPython的cPickle序列化的对象,能不能用IronPython的cPickle来读取?这些对象不需要任何CPython和IronPython之外的模块,只用到它们自带的基本模块。谢谢!

2 个回答

0

这个会有效,因为在加载(load())的时候,当你解压缩对象时,它会使用你现在定义的类的当前版本,而不是对象被压缩时的版本。

IronPython 就是 Python 的一种变种,它的标准库是用 C# 实现的,所以所有的东西都会生成 IL(中间语言)。CPython 和 IronPython 的压缩模块功能是一样的,只不过一个是用 C 语言写的,另一个是用 C# 写的。

2

如果你使用默认的协议(0),这个协议是基于文本的,那么事情应该能正常运作。我不太确定如果你使用更高的协议会发生什么。测试这个其实很简单……

撰写回答