2011-05-12 13 views
1

tkinterを学ぶには、単純なGoのゲームプログラムを作っています。私は今、ピクルスを使用してゲームを保存できるようにしたいと思いますが、私は私のGoBoardModelオブジェクトをpickle化しようとすると、私が取得:pickleとtkinterの問題

PicklingError: Can't pickle 'tkapp' object: <tkapp object at 0x01FCB090> 

私はそれが事実から来ていると思うことながら、GUIや、外出先のモデルボードはかなり分離されていますが、モデルはまだいくつかのものをプッシュするためにビューへの参照を持っているので、ピクルスはおそらくいくつかのTKのものをピケッとしようとします。もちろん、私はモデルをピックアップしたいので、pickleにGUIへの参照を気にしないように指示する方法はありますか?あるいは、問題を回避する別の方法?

私はちょうどこの参照を取り除くことができ知っているが、私は__getstate__方法に見て、:)

答えて

3

うんを学ぶためにここにいます。

class Whatever(object): 

    def __getstate__(self): 
    state = self.__dict__.copy() 
    del state['view'] 
    return state 
:あなたはピクルスが「ビュー」属性を無視したい場合は

はたとえば、次のようにしてください

関連する問題