为了账号安全,请及时绑定邮箱和手机立即绑定

Cant Pickle记忆类实例

Cant Pickle记忆类实例

至尊宝的传说 2021-05-20 18:02:04
这是我正在使用的代码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)


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号