Курс 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"
- Настройка нарезки списков
- Разделение строки с помощью split()
- Проверка переменных окружения в Python
- Работа с комплексными числами в Python
- Виртуальное окружение Python
- Цикл for в Python
- Работа с базами данных SQLite
- Python enumerate() для работы с индексами
- Функция zip() — объединение последовательностей
- Работа с f-строками 2.0
- Декоратор для группы пользователей в Django
- Создание комплексных чисел
- Сравнение строк в Python
- Декодирование строк в Python
- Enum в Python: создание и использование перечислений
- Переопределение метода sub
- Транспонирование 2D-массива с помощью zip
- Форматирование вывода с F-строками
- Склеивание строк без циклов
- Отображение HTML кода в Python
- Создание функций с произвольным количеством аргументов
- Закрытие файла в Python
- Метод count() для списка
- Нахождение разницы между списками в Python
- Удаление дубликатов в pandas
- Асинхронное программирование с asyncio
- Логические значения в Python
- Очистка строки в Python
- Использование *args
- Определение функций с необязательными аргументами
- Функция enumerate() — Python
- Форматирование строк в Python
- Оптимизация памяти с __slots__
- Итерация по коллекции в Python
- Разделение строки с помощью re.split()
- Обмен переменными в Jupyter
- Быстрый поиск кода
- Модуль Antigravity в Python 3
- GitHub в Telegram: подписка на уведомления
- Форматирование вывода списков
- Обработка ошибок в JSON данных
- Создание треугольника Паскаля
- Переопределение метода len
- Участие в LP стейкинге Waves















