我正在编写一个应该或多或少连续运行的程序。如果我终止程序,或者如果它抛出错误,我希望保存所有对象实例。为此,我使用 jsonpickle 保存所有实例。当程序继续时,我想从我离开的地方继续。我的想法是执行以下操作:
class A(object):
def __init__(self):
try:
with open('A.json', 'r') as fp:
self = jsonpickle.decode(json.load(fp))
except IOError:
self.X = 'defaultvalue'
self.Y = 'defaultvalue'
其中 A.json 包含以前使用 jsonpickle 保存的 A 实例(该部分有效)。但是,我的代码不会覆盖 self 。
我怀疑我必须在 __new__ 中实现我想做的事情。我阅读了文档,但是我有点迷茫。对于如何以一种好的方式实现我想要的东西,我将不胜感激。