Я пытаюсь загрузить и сохранить объекты с помощью этого фрагмента кода. Я получил его из вопроса, который я задал неделю назад: Python: сохранение и загрузка объектов и использование pickle.
Код выглядит так:
class Fruits: pass
banana = Fruits()
banana.color = 'yellow'
banana.value = 30
import pickle
filehandler = open("Fruits.obj","wb")
pickle.dump(banana,filehandler)
filehandler.close()
file = open("Fruits.obj",'rb')
object_file = pickle.load(file)
file.close()
print(object_file.color, object_file.value, sep=', ')
На первый взгляд фрагмент кода работает хорошо, загружается и видит «цвет» и «значение» сохраненного объекта.
Но я преследую цель закрыть сеанс, открыть новый и загрузить то, что я сохранил в прошлом сеансе. Я закрываю сессию после ввода строки filehandler.close()
, открываю новую и помещаю остаток вашего кода, затем после ввода object_file = pickle.load(file)
получаю эту ошибку:
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
object_file = pickle.load(file)
File "C:\Python31\lib\pickle.py", line 1365, in load
encoding=encoding, errors=errors).load()
AttributeError: 'module' object has no attribute 'Fruits'
Может кто-нибудь объяснить мне, что означает это сообщение об ошибке и как решить эту проблему?
Большое спасибо и счастливого нового года !!