如何在不丢失 'connections' 的情况下序列化 Atom api 对象
How to serialize Atom api objects without losing 'connections'
我正在使用基于 Atom 的 Enaml gui,我想 save/load 原子对象 to/from 磁盘。
我试过使用 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 对象的字典?
了解如何使用 setattr 保持 Atom 更新机制正常工作。
我正在使用基于 Atom 的 Enaml gui,我想 save/load 原子对象 to/from 磁盘。
我试过使用 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 对象的字典?