[英]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.