简体   繁体   English

Pickle:读字典,EOFError

[英]Pickle: Reading a dictionary, EOFError

I recently found out about pickle, which is amazing.我最近发现了泡菜,这太棒了。 But it errors on me when used for my actual script, testing it with a one item dictionary it worked fine.但是当用于我的实际脚本时,它会出错,使用单项字典对其进行测试,它工作正常。 My real script is thousands of lines of code storing various objects within maya into it.我真正的脚本是数千行代码,将 Maya 中的各种对象存储到其中。 I do not know if it has anything to do with the size, I have read around a lot of threads here but none are specific to my error.我不知道它是否与大小有关,我在这里阅读了很多线程,但没有一个特定于我的错误。

I have tried writing with all priorities.我尝试过所有优先级的写作。 No luck.没运气。

This is my output code:这是我的 output 代码:

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

This is my read code:这是我的阅读代码:

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

This is the error:这是错误:

    # 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 # 

Try using pickle.dumps() and pickle.loads() as a test.尝试使用 pickle.dumps() 和 pickle.loads() 作为测试。 If you don't recieve the same error, you know it is related to the file write.如果您没有收到相同的错误,您就知道它与文件写入有关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM