【问题标题】:Import Error using cPickle in Python在 Python 中使用 cPickle 导入错误
【发布时间】:2013-11-22 07:41:58
【问题描述】:

我在 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

【问题讨论】:

    标签: python python-2.7 pickle


    【解决方案1】:

    看来你做不到

    import options
    

    但是当你或其他人这样做时

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

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

    解决方案

    1. 您可以二进制打开文件并将options替换为您替换旧模块options的模块。

    2. 您可能通过执行文件main.py 或类似的文件在包中创建了文件,例如在模块package.main 中,在同一目录中有一个模块options。 现在你做import package.main,尝试读取文件,options 现在被称为package.options 并且模块options 找不到。

    3. 您是如何创建此文件的?你现在如何加载它? cPickle/pickle 不传输源代码 - 所以如果你使用一个函数,你在加载它时需要模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      相关资源
      最近更新 更多