标签: python pickle
我正在开发一个只能使用协议2(以及在Python 3上向上)进行有意义的选择的类。当使用较旧的协议时,会发生难以跟踪的错误。我想为类的用户保存一些调试的痛苦,所以我希望该类在使用小于2的协议进行pickle时立即引发异常。
我该怎么做?
答案 0 :(得分:2)
您可以在班级上实施__reduce_ex__()方法。它接收一个参数,即协议版本。如果版本不是2,只需提出异常。
__reduce_ex__()