Pickle AttributeError:无法从“app.py”中获取<模块“__main__”上的属性“Wishart”>

Anu*_*tra 6 python pickle topic-modeling

我已经运行我的代码来加载我的 pickle 保存的变量。这是我的代码

import pickle 
last_priors_file = open('simpanan/priors', 'rb') 
priors = pickle.load(last_priors_file)
Run Code Online (Sandbox Code Playgroud)

我得到这样的错误: AttributeError: Can't get attribute 'Wishart' on <module '__main__' from 'app.py'>

小智 5

发生这种情况是因为脚本运行时保存了 pickled 数据,因此它保存了as__name__ == '__main__'的位置。然后,当您运行下一个脚本来加载数据时,范围内不存在,因此失败。Wishart__main__.WishartWishart

这种情况下的修复方法是简单地在调用from wherever import Wishart 之前添加pickle.load.