我正在开发一个只能使用协议(protocol) 2(以及 Python 3 及更高版本)进行有意义的 pickle 的类。使用旧协议(protocol)时,会出现难以追踪的错误。我想为类的用户省去一些调试痛苦,所以我希望类在使用小于 2 的协议(protocol)进行 pickle 时立即引发异常。
我该怎么做?
最佳答案
您可以实现 __reduce_ex__()
你类的方法。它接收一个参数,即协议(protocol)版本。如果版本不是 2,只需引发异常。
关于Python:确保我的类只使用最新的协议(protocol)进行 pickle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5570680/