Atom ベースの Enaml GUI を使用しており、Atom オブジェクトをディスクに保存/ディスクからロードしたいと考えています。
pickle を使用してみましたが、GUI への接続が失われます。
from atom.api import Atom, Unicode
import pickle
class test(Atom):
name = Unicode
def save(self)
f = open('tester.p','w')
pickle.dump(self.name,f)
f.close()
def load(self):
f = open('tester.p','r')
self.name = pickle(f) # gui is not updated
#self.name = 'this one works' #gui is updated
f.close()
GUI 接続を失わずに Atom オブジェクトをシリアル化するにはどうすればよいですか?
編集: self.name = str(pickle(f)) を実行すると、接続を失うことなく文字列を取得できることがわかりました。このアイデアを、任意の Atom オブジェクトを含む辞書など、より一般化できるものに拡張するにはどうすればよいでしょうか?