python – Pickle:读一本字典,EOFError

我最近发现了泡菜,这太棒了.但是当我用于我的实际脚本时,它会出现错误,使用一个项目字典对其进行测试就可以了.我的真实脚本是成千上万行代码,将maya中的各种对象存储到其中.我不知道它是否与大小有关,我在这里读了很多线程,但没有一个是我的错误所特有的.

我尝试过写所有优先事项.没运气.

这是我的输出代码:

    output = open('locatorsDump.pkl', 'wb')
    pickle.dump(l.locators, output, -1)
    output.close()

这是我的阅读代码:

    jntdump = open('locatorsDump.pkl', 'rb')
    test = pickle.load(jntdump)
    jntdump.close()

这是错误:

    # Error: Error in  maya.utils._guiExceptHook:
    #   File "C:\Program Files\Autodesk\Maya2011\Python\lib\site-packages\pymel-1.0.0-py2.6.egg\maya\utils.py", line 277, in formatGuiException
    #     exceptionMsg = excLines[-1].split(':',1)[1].strip()
    # IndexError: list index out of range
    # 
    # Original exception was:
    # Traceback (most recent call last):
    #   File "<maya console>", line 3, in <module>
    #   File "C:\Program Files\Autodesk\Maya2011\bin\python26.zip\pickle.py", line 1370, in load
    #     return Unpickler(file).load()
    #   File "C:\Program Files\Autodesk\Maya2011\bin\python26.zip\pickle.py", line 858, in load
    #     dispatch[key](self)
    #   File "C:\Program Files\Autodesk\Maya2011\bin\python26.zip\pickle.py", line 880, in load_eof
    #     raise EOFError
    # EOFError # 

解决方法:

尝试使用pickle.dumps()和pickle.loads()作为测试.
如果您没有收到相同的错误,则表示它与文件写入有关.

上一篇:SARS病毒


下一篇:已知二叉树先序遍历中序遍历求其后序遍历、重建二叉树