我在Python2.7中使用Pickle。使用cPickle.load()方法时出现错误。代码和错误如下所示。有人可以指导我吗?

码:

#! usr/bin/python
import cPickle
fo = open('result','rb')
dict1 = cPickle.load(fo)


错误:

Traceback (most recent call last):
File "C:\Python27\test.py", line 7, in <module>
dicts = cPickle.load(fo)
ImportError: No module named options

最佳答案

看来你做不到

import options


但是当你或别人做了

cpickle.dump(xxx, open('result', 'rb'))


此时在options中存在一个对象,该对象具有模块xxx的类或功能。




您可以二进制打开文件,并用替换旧模块options的模块替换options
您可能是通过执行文件package.main或类似的文件在包中创建了文件的,就像在模块main.py中一样,并且在同一目录中有模块options
现在,您执行import package.main,尝试读取该文件,并且options现在称为package.options,并且找不到模块options
您是如何创建此文件的?您现在如何加载? cPickle / pickle不会传输源代码-因此,如果使用功能,则在加载模块时需要该模块。

关于python - 在Python中使用cPickle导入错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20139583/

10-13 08:56