私は多かれ少なかれ継続的に実行する必要があるプログラムを書いています。プログラムを終了した場合、またはエラーがスローされた場合は、すべてのオブジェクト インスタンスを保存する必要があります。そのために、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__ でやりたいことを実装する必要があると思います。ドキュメントを読みましたが、少し迷っています。私が望むものを良い方法で実装する方法についてのアドバイスをいただければ幸いです。