如果我有对象a和b两个引用对象obj,当我Pickle然后恢复对象时会发生什么?腌制数据是否"知道" a并且b都引用相同的对象并相应地恢复所有内容,或者两者会得到两个不同的 - 最初是相等的 - 对象?
正如@aix指出的那样,pickle理解对同一对象的多个引用,但仅限于一次酸洗.也就是说,泡菜总是腌制一个物体.如果该对象中包含引用,那么这些引用将在unpickled对象中正确共享.
但是如果你两次调用pickle来挑选两个对象,那么对象之间的共享引用将无法正确保存.该对象现在将存在两次.