1
Я разрабатываю класс, который должен управлять памятью в своем методе __new__
. Он работает хорошо, когда я создаю объект. Но __new__
не выполняется при использовании pickle.loadPython pickle.load не выполняет мой метод класса __new__
>>>import pickle
>>>class Foo(object):
... def __new__(cls, *args, **kwds):
... print('Foo:__new__')
... print('args: [{}]'.format(args))
... print('kwds: [{}]'.format(kwds))
... return cls
>>>foo = Foo()
Foo:__new__
args: [()]
kwds: [{}]
>>>fp=open('test.bin', 'wb')
>>>pickle.dump(foo,fp)
>>>fp.close()
>>>fp=open('test.bin', 'rb')
>>>foo = pickle.load(fp)
! Моя проблема здесь: метод Foo :: новый не выполняется
>>>foo
__main__.Foo
Это всего лишь примерный класс, а не класс, который должен управлять своей памятью –