Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
11 Фев 2024
3 мин
6795

Что такое Pickle и как его использовать в Python

Изучите основы работы с модулем Pickle в Python для сериализации и десериализации объектов в этой доступной статье!

Pickle – это модуль Python, который предоставляет возможность сериализовать и десериализовать объекты Python. Сериализация – это процесс преобразования объекта в поток байтов, который затем может быть сохранен в файл или передан через сеть. Десериализация – это обратный процесс, при котором поток байтов преобразуется обратно в объект. В этой статье мы рассмотрим основы использования модуля Pickle для сериализации и десериализации объектов Python.

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Импорт модуля Pickle

Прежде всего, вам нужно импортировать модуль pickle. Для этого просто добавьте следующую строку в начале своего кода:

import pickle

Сериализация объектов с использованием Pickle

Чтобы сериализовать объект, вы можете использовать функцию pickle.dumps(), которая принимает объект в качестве аргумента и возвращает поток байтов. Вот пример:

import pickle

data = {"key": "value"}

serialized_data = pickle.dumps(data)
print(serialized_data)

В этом примере мы сериализуем словарь data и выводим полученный поток байтов.

😉 Если вы хотите сохранить сериализованные данные в файл, вы можете использовать функцию pickle.dump() вместо pickle.dumps(). Ниже приведен пример:

import pickle

data = {"key": "value"}

with open("data.pickle", "wb") as file:
    pickle.dump(data, file)

В этом случае мы открываем файл data.pickle для записи в двоичном режиме и сохраняем сериализованные данные с помощью pickle.dump().

Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.

Десериализация объектов с использованием Pickle

Для десериализации объекта из потока байтов используйте функцию pickle.loads(). Вот пример:

import pickle

serialized_data = b'\x80\x04\x95\x1b\x00\x00\x00\x00\x00\x00\x00}\x94\x8c\x03key\x94\x8c\x05value\x94s.'

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)

В этом примере мы десериализуем поток байтов serialized_data и выводим полученный объект.

😉 Если вы хотите загрузить объект из файла, используйте функцию pickle.load(). Ниже приведен пример:

import pickle

with open("data.pickle", "rb") as file:
    deserialized_data = pickle.load(file)

print(deserialized_data)

Здесь мы открываем файл data.pickle для чтения в двоичном режиме и загружаем объект с помощью pickle.load().

Теперь вы знаете основы использования модуля Pickle для сериализации и десериализации объектов Python. Не забывайте, что Pickle не подходит для обработки небезопасных данных, так как десериализация может выполнять произвольный код. Используйте Pickle только для работы с надежными данными.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Спасибо за чтение! Надеемся, что эта статья помогла вам разобраться с модулем Pickle в Python. Удачи вам в изучении новых тем!

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий