这是我正在使用的代码import funcy@funcy.memoizeclass mystery(object): def __init__(self, num): self.num = numfeat = mystery(1)with open('num.pickle', 'wb') as f: pickle.dump(feat,f)这给了我以下错误:PicklingError: Can't pickle <class '__main__.mystery'>: it's not the same object as __main__.mystery我希望1)理解为什么会发生这种情况,2)找到一种解决方案,使我可以对对象进行腌制(不删除备忘录)。理想情况下,该解决方案不会更改对pickle的调用。使用funcy == 1.10运行python 3.6
2 回答

收到一只叮咚
TA贡献1821条经验 获得超4个赞
另一种方法是
class _mystery(object):
def __init__(self, num):
self.num = num
@funcy.memoize
def mystery(num):
return _mystery(num)
添加回答
举报
0/150
提交
取消