麻烦在OSX" numpy dtype unpickling"中的非字符串名称进行挑选和取消。

时间:2015-03-30 15:55:24

标签: python macos class pickle

我正在尝试挑选和取消我正在使用的数据类的实例,它在Unix上运行正常:

import dataclass as dc

data = dc.DataClass()
f = open(filename, 'wb')
pickle.dump(data, f)
f.close()

f = open(filename, 'rb')
unpickled_data = pickle.load(f)

然后我可以再次使用unpicked_data。但是当我在mac OS X上尝试这些相同的步骤时,我收到一个错误:

f = open(filename, 'rb')
unpickled_data = pickle.load(f)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

pickle.pyc in load(file)
   1376 
   1377 def load(file):
-> 1378     return Unpickler(file).load()
   1379 
   1380 def loads(str):

pickle.pyc in load(self)
    856             while 1:
    857                 key = read(1)
--> 858                 dispatch[key](self)
    859         except _Stop, stopinst:
    860             return stopinst.value

pickle.pyc in load_build(self)
   1215         setstate = getattr(inst, "__setstate__", None)
   1216         if setstate:
-> 1217             setstate(state)
   1218             return
   1219         slotstate = None

ValueError: non-string names in Numpy dtype unpickling

我已经尝试过腌制和取消更简单的对象,比如OS X上的字典,它似乎工作正常。但由于某种原因,不喜欢这个数据类。任何帮助是极大的赞赏!感谢。

0 个答案:

没有答案
相关问题