我遇到了另一个与 shove 相关的问题(请参阅Shove 知道一个对象但无法检索它),但这次我有一个非常简单的重现,显示了为什么转储/加载不起作用。
查看加载/转储中的 def C:\Python27\lib\site-packages\shove-0.5.0-py2.7.egg\shove\base.py
,它指的是 stuf.utils 中的 ld,optimize。
为什么下面不起作用?
>>> from stuf.utils import ld,optimize; d=[{'A':1},{'A':1}]; ld(optimize(d))
[{'A': 1}, {'A': 1}]
>>> from stuf.utils import ld,optimize; d=[{'AA':1},{'A':1}]; ld(optimize(d))
[{'AA': 1}, {'A': 1}]
>>> from stuf.utils import ld,optimize; d=[{'AA':1},{'AA':1}]; ld(optimize(d))
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
from stuf.utils import ld,optimize; d=[{'AA':1},{'AA':1}]; ld(optimize(d))
BadPickleGet: 3
>>>
太感谢了!