Курс Python → Сериализация объектов в Python
Модуль pickle в Python предоставляет удобные инструменты для сериализации и десериализации объектов Python. Сериализация — это процесс преобразования объекта в последовательность байтов, которая может быть сохранена в файле или передана по сети. Десериализация — обратный процесс, когда последовательность байтов преобразуется обратно в объект.
В приведенном примере мы создаем объект data в виде словаря и используем функцию pickle.dumps для сериализации этого объекта в байтовую строку. Мы можем сохранить эту строку в файле или передать ее по сети. Затем, используя функцию pickle.loads, мы десериализуем байтовую строку обратно в объект и получаем исходный словарь data.
import pickle
data = {'key': 'value'}
serialized_data = pickle.dumps(data)
# Сохраняем serialized_data в файл или передаем по сети
deserialized_data = pickle.loads(serialized_data)
print(deserialized_data) # Выведет: {'key': 'value'}
Использование модуля pickle удобно при необходимости сохранить сложные структуры данных Python или передать их между разными процессами. Однако, следует помнить о некоторых ограничениях, например, pickle не поддерживает сериализацию некоторых типов объектов, таких как файлы или сокеты.
При работе с модулем pickle важно обеспечить безопасность данных, так как десериализация объектов из ненадежных источников может привести к выполнению зловредного кода. Рекомендуется использовать pickle только для доверенных данных или обеспечивать проверку целостности данных перед их десериализацией.
Другие уроки курса "Python"
- Работа с контекстными менеджерами
- Запуск внешних программ с subprocess
- Генератор списка с условием if
- Обновление ключей в Python
- Создание файла с проверкой ошибки
- Обработка исключений в Python
- Блок try…finally в Python
- Установка User-Agent в Python
- Метод get() в Python
- Многопроцессорное программирование в Python
- Срезы в Python
- Использование super() в Python
- Обработка ошибок в Python
- Форматирование строк в Python
- Поиск частого элемента
- Печать комбинаций в Python с Itertools
- UserString в Python
- Операторы += в Python
- Объединение множеств в Python
- Работа с модулем cmath
- Enum в Python
- Показ всплывающих окон Tkinter
- Лимиты на ресурсы Python
- Непрерывная проверка в Python
- Lambda-функция в Python: использование с map() и sum()
- Python 3.12: Псевдонимы типов
- Создание функций высшего порядка
- Получение текущей даты и времени с помощью datetime
- Python: возвращение нескольких значений
- Фильтрация элементов с помощью islice
- Работа со словарями Python
- Атрибуты класса и экземпляра
- Замена атрибута в именованном кортеже
- Форматирование кода на Python
- Ошибка NotImplemented в Python
- Передача параметров в Python
- Python Менеджер контекста
- Получение атрибутов и методов класса
- Работа со слайсами
- Списковое включение в Python
- Проверка наличия элемента в списке
- Методы split() и join() — Python строк.
- Обработка исключений в Python
- Хэш-функции и метод цепочек
- Метод setdefault() в Python
- Списки в Python: основы
- GitHub в Telegram: подписка на уведомления
- Метод classmethod















