Создать сотрудника Mary, пользуясь классом Employee и перенести его в другую программу, используя модуль Pickle и файловую систему. Узнать про + и - модуля Pickle.
Pickle - инструмент для сериализации и десериализации объектов с возможностями сохранения результатов в файл и восстановления из него.
| + | - |
|---|---|
| Позволяет сохранять объекты в файлы и восстанавливать из них | Существует риск выполнения вредоносного кода из десериализуемых данных |
| Инструмент сериализации даже для собственно созданных классов (структур данных) | Невозможно использовать созданный дамп из других ЯП |
| Позволяет создать механизм сохранения состояния выполнения программы | Не человеко-читаемый (сохранение байтами) и относительно медленный способ сериализации |
import pickle
from Employee import Employee
marry = Employee("Marry", "+126446", salary=5000)
with open('marry.bak', 'wb+') as f: pickle.dump(marry, f)import pickle
from Employee import Employee
with open('marry.bak', 'rb') as f: marry = pickle.load(f)
marry.print_salary_info()Если невозможно импортировать модуль восстанавливаемого класса возникнет ошибка: ModuleNotFoundError.