Python:确保我的课程仅使用最新协议进行腌制

时间:2011-04-06 17:43:13

标签: python pickle

我正在开发一个只能使用协议2(以及在Python 3上向上)进行有意义的选择的类。当使用较旧的协议时,会发生难以跟踪的错误。我想为类的用户保存一些调试的痛苦,所以我希望该类在使用小于2的协议进行pickle时立即引发异常。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以在班级上实施__reduce_ex__()方法。它接收一个参数,即协议版本。如果版本不是2,只需提出异常。