2

私はオブジェクトを持っています:

class X():
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

その属性 c は (異なる種類の) リスト オブジェクトの a です:

class Y():
    def __init__(self, x, y):
        self.x = x
        self.y = y

これを次のようにピクルします。

import pickle
pickle.dump(instance_of_class_X,open(dir, "wb"))

次のようにロードします。

import pickle
from some_library import X, Y # I import the two classes involved
pickle.load(open(dir,"rb"))

次のエラーが表示されます。

AttributeError: 'module' オブジェクトに属性 'Y' がありません

何をすべきかわからないので、どんな助けでも大歓迎です。

4

1 に答える 1

4

pickleおそらく、最初に使用されたのと同じ完全修飾名を介してクラスを使用できるようにする必要があるという犠牲に陥っている可能性があります。オブジェクトを最初に作成したときの X と Y の名前空間によって異なります。この回答このページを参照してください。

于 2012-06-10T19:41:36.690 に答える