import pickle
class A:
def __init__(self):
self.__counter = count()
self.__ids = defaultdict(lambda: next(self.__counter))
self.processed_data = []
def method1(self):
# здесь используется __ids
def method2(self):
# здесь используется __ids
def pickle_data(self, obj, filename="data.sav"):
with open(filename, 'wb') as f:
pickle.dump(obj, f)
def unpickle_data(self, filename="data.sav"):
with open(filename, 'rb') as f:
return pickle.load(f)
my_class = A()
A.method1()
A.pickle_data(A)
pickle.dump() ругается что не может сохранить объект с lambda функцией:
AttributeError: Can't pickle local object 'Markov.__init__.<locals>.<lambda>'
Есть ли способ это решить?