Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 1.9 KB

File metadata and controls

36 lines (26 loc) · 1.9 KB

Task4.1

Task description

Создать сотрудника Mary, пользуясь классом Employee и перенести его в другую программу, используя модуль Pickle и файловую систему. Узнать про + и - модуля Pickle.

Pickle

Pickle - инструмент для сериализации и десериализации объектов с возможностями сохранения результатов в файл и восстановления из него.

+ -
Позволяет сохранять объекты в файлы и восстанавливать из них Существует риск выполнения вредоносного кода из десериализуемых данных
Инструмент сериализации даже для собственно созданных классов (структур данных) Невозможно использовать созданный дамп из других ЯП
Позволяет создать механизм сохранения состояния выполнения программы Не человеко-читаемый (сохранение байтами) и относительно медленный способ сериализации

Report

File 4.1.1

import pickle
from Employee import Employee
marry = Employee("Marry", "+126446", salary=5000)
with open('marry.bak', 'wb+') as f: pickle.dump(marry, f)

File 4.1.2

import pickle
from Employee import Employee
with open('marry.bak', 'rb') as f: marry = pickle.load(f)
marry.print_salary_info()

Если невозможно импортировать модуль восстанавливаемого класса возникнет ошибка: ModuleNotFoundError.