Я получаю этот вывод в интерактивном режиме.Классы в обработке файлов в Python 2.7
class test:
def p(self):
print 'PP'
>>> f=open('E:\Python\Roy Progs\Test','w')
>>> t=test()
>>> import pickle
>>> pickle.dump(t,f)
>>> f.close()
>>> f=open('E:\Python\Roy Progs\Test','r')
>>> pickle.load(f).p()
PP
>>> f.close()
>>>
=============================== RESTART: Shell ===============================
>>> f=open('E:\Python\Roy Progs\Test','r')
>>> import pickle
>>> pickle.load(f).p()
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
pickle.load(f).p()
File "E:\Python\lib\pickle.py", line 1384, in load
return Unpickler(file).load()
File "E:\Python\lib\pickle.py", line 864, in load
dispatch[key](self)
File "E:\Python\lib\pickle.py", line 1075, in load_inst
klass = self.find_class(module, name)
File "E:\Python\lib\pickle.py", line 1132, in find_class
klass = getattr(mod, name)
AttributeError: 'module' object has no attribute 'test'
С выходом Я понимаю, что определение класса (чей объект сохраняются в файле) должно быть в наличии в ОЗУ во время извлечения данных и использовать его. Я, однако, не понимаю, почему это должно быть так, путем хранения объектов в файле, я также не сохраняю определение класса?
Не вставляйте изображения текста - вставьте сам текст. –
Спасибо за предложение. Я надеюсь, что все в порядке. –