Я написал скрипт, который выполняет небольшую обработку данных, затем выбирает результаты перед дальнейшей обработкой, чтобы я мог поиграть с окончательными параметрами для построения графика.Я выбираю списки двух классов, которые я создал.Для каждого списка можно использовать засолку, но при откреплении одного списка возвращается следующая ошибка:
Traceback (most recent call last):
File "script.py", line 980, in <module>
main()
File "script.py", line 956, in promoter_main
open(os.path.join(pickle_dir, 'doublep.pickle'), 'rb'))
File "/usr/lib/python2.6/pickle.py", line 1370, in load
return Unpickler(file).load()
File "/usr/lib/python2.6/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.6/pickle.py", line 1217, in load_build
setstate(state)
File "/home/jmerkin/software/numpy/numpy/ma/core.py", line 5468, in __setstate__
ndarray.__setstate__(self, (shp, typ, isf, raw))
TypeError: object pickle not returning list
Как я уже говорил, у одного все в порядке (список экземпляров SingleP), а при выдаче (экземпляры) у меня возникает эта ошибкаDoubleP).Я не решаюсь опубликовать весь код для класса, потому что он длинный, но в основном у него есть пара методов, которые заполняют некоторые атрибуты.Эти атрибуты состоят из логических значений, списков кортежей, строк, целых или списков numpy.ma.arrays.Некоторые из этих массивов замаскированы numpy.nan.
Возможно, это связано с проблемой: http://projects.scipy.org/numpy/ticket/897. В этом случае проблема заключается в массивах с np.object в качестве dtype массива.Тем не менее, я собирал и обрабатывал numpy.ma.arrays, в том числе массивы, которые маскировали numpy.nan, без проблем в течение достаточно долгого времени.
Я что-то глупо теряю при травлении?Я не изменяю объект между тем, когда он был протравлен, и когда я пытаюсь открепить.
я переписал биты кода так, чтобы вместо того, чтобы иметь массив измерений nxmxl в качестве некоторых атрибутов, у меня естьсписок с n записями, каждая из которых является массивом mxl, и теперь она счастлива и расслаивается.Я очень смущен, но это работает.Я не собираюсь закрывать это, потому что мои вопросы остаются, почему я получил эту ошибку?