Курс Python → Сериализация и десериализация объектов
Модуль pickle в Python предоставляет удобный способ сериализации и десериализации объектов. Сериализация — это процесс преобразования объекта Python в последовательность байтов, которая может быть сохранена или передана через сеть. Десериализация, с другой стороны, — это процесс обратного преобразования последовательности байтов в объект Python.
Основными методами модуля pickle являются pickle.dumps() и pickle.loads(). Метод pickle.dumps() принимает объект Python и возвращает его сериализованное представление в виде строки байтов. Метод pickle.loads(), наоборот, принимает сериализованное представление объекта и возвращает его как объект Python.
Пример использования модуля pickle:
import pickle
# сериализация объекта
data = {'name': 'Alice', 'age': 30}
serialized_data = pickle.dumps(data)
# запись сериализованных данных в файл
with open('data.pickle', 'wb') as file:
file.write(serialized_data)
# десериализация объекта
with open('data.pickle', 'rb') as file:
deserialized_data = pickle.loads(file.read())
print(deserialized_data)
Модуль pickle также поддерживает сериализацию пользовательских классов и функций. Однако, при использовании pickle важно помнить о потенциальных уязвимостях безопасности, связанных с десериализацией ненадежных данных. Поэтому рекомендуется быть осторожным при загрузке данных из ненадежных источников.
Другие уроки курса "Python"
- Ограничение итераций в Python
- Создание матрицы в Python
- Символ подчеркивания в Python
- Генераторы списков
- Функциональное программирование.
- Присоединение элементов коллекции
- Отображение HTML кода в Python
- Генерация чисел с range()
- Объединение списков с использованием itertools.chain
- Генерация случайных данных в NumPy
- Работа с срезами в Numpy
- Метод __ilshift__ для битового сдвига влево
- Функции range() в Python
- Нарезка списков в Python
- Измерение времени выполнения кода
- Параллельные вычисления в Python
- Декораторы в Python
- Декораторы с аргументами
- Получение локальных переменных в Python
- Отношения подклассов в Python
- Списки: объединение, изменение
- Python reversed() vs срез[::-1]
- Декораторы в Python
- Секреты Python
- Измерение времени выполнения
- Решатель судоку на Python с pygame
- Управление контекстом выполнения кода
- Блок try…finally в Python
- Поток данных в Python
- Функция print() — вывод информации
- Проверка дублей в списке.
- Преобразование генераторов в циклы
- Построение графиков в Matplotlib
- Функция zip() в Python
- Разделение строки с помощью re.split()
- Получение списка кортежей из словаря
- Получение текущей даты и времени с помощью datetime
- Создание веб-приложения с Flask
- Управление виртуальными средами в Python
- Документация функции help() в Python
- Работа с изменяемыми списками
- Разделение строки с регулярными выражениями
- Поиск с помощью регулярных выражений
- Управление импортом в Python
- Применение функции к списку















