栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

取消拾取对象时发生AttributeError

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

取消拾取对象时发生AttributeError

class Foo
必须在解酸环境中通过相同的路径导入,以便可以重新实例化酸洗的对象。

我认为您的问题是您

Foo
在要作为main(
__name__ == "__main__"
)执行的模块中定义。Pickle会将路径(而不是类object
/ definition !!!)序列化为
Foo
位于主模块中。
Foo
不是主要打开脚本的属性。

在此示例中,您可以重新定义

classFoo
解腌脚本,并且它应该也可以解腌。但实际上是要有一个在两个脚本之间共享的公共库,并且可以通过同一路径使用。示例:
Foo
在foo.py中定义

简单的例子:

$ PROJECT_DIR / foo.py

class Foo(object):    pass

$ PROJECT_DIR / picklefoo.py

import cPicklefrom foo import Foodef pickleObject():    obj = Foo()    savefile = open('pickle.txt', 'w')    cPickle.dump(obj, savefile, cPickle.HIGHEST_PROTOCOL)pickleObject()

$ PROJECT_DIR / unpicklefoo.py

import cPicklesavefile = open('pickle.txt', 'r')obj = cPickle.load(savefile)...


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669204.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号