Python

Руководство Python Pickle

Руководство Python Pickle

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

Pickle - это встроенный модуль Python, который используется для сериализации и десериализации структуры объекта Python. Сериализация - это процесс преобразования объекта Python в поток байтов (0 и 1). Он также известен как маринование. Целью процесса травления является сохранение объекта Python на диске в виде байтового потока. Консервированный объект Python можно преобразовать обратно в объект Python, и этот процесс известен как распаковка или десериализация.

Обработка Python полезна, когда нам нужно сохранить состояние объекта Python и выполнить задачу анализа данных. Например, когда мы работаем с алгоритмами глубокого обучения и хотим использовать его в будущем. В этом состоянии мы можем сохранить его на диске для дальнейшего использования. Однако травление - не лучший вариант, когда мы работаем с разными языками программирования. Заквашенный объект нельзя распаковать ни на каком другом языке программирования, так как он не имеет межъязыковой поддержки. Объект, обработанный в Python, также может быть извлечен только в Python. То же самое применимо для разных версий Python; объект, который был обработан в определенной версии Python, может быть некорректно извлечен в другой версии. Чтобы выполнить процесс травления и распаковки, сначала нам нужно импортировать модуль pickle в наш скрипт Python.

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

Примеры травления Python

Давайте посмотрим на несколько примеров, чтобы понять процесс травления Python. Перед выполнением операции травления нам необходимо открыть файл в режиме записи. Файл должен быть открыт в двоичном режиме, так как маринованный объект хранится в байтовом потоке. Dump () - это функция модуля pickle, который используется для создания рассола. Требуется два аргумента, я.е., объект Python для маринования и файл, в котором будет сохранен маринованный объект.

Пример 1. Выберите список

В данном примере мы создали список чисел и замариновали его с помощью рассола.функция dump ().

# импорт модуля рассола
импортный рассол
# объявление списка номеров
num_list = [1,2,3,4,5,6]
# выбор списка и сохранение в файле
listfile = open ('listPickle', 'wb')
соленый огурец.дамп (num_list, listfile)
список.Закрыть()
print ("Раскрытие списка успешно создано.")

Выход

Выходные данные показывают, что список успешно замаринован.

Пример 2: выберите словарь

Теперь давайте рассмотрим объект словаря Python. Студенческий словарь создан и маринован с помощью рассола.функция dump ().

# импорт модуля рассола
импортный рассол
# объявление студенческого словаря
std_dict = 'имя': 'Джон', 'возраст': 22, 'класс': 'BS'
# выбор словаря и сохранение в файле
dictfile = open ('dictPickle', 'wb')
соленый огурец.дамп (std_dict, dictfile)
dictfile.Закрыть()
print ("Словарь успешно маринован.")

Выход

Вывод показывает, что словарь успешно замаринован.

Пример 3: выделить кортеж

Теперь давайте рассмотрим объект кортежа Python. Объект кортежа создается и обрабатывается с помощью pickle.функция dump ().

# импорт модуля рассола
импортный рассол
# объявление кортежа
my_tuple = ((1,1), (2,2), (3,3), (4,4))
# выбор словаря и сохранение в файле
tuplefile = open ('tuplePickle', 'wb')
соленый огурец.дамп (my_tuple, tuplefile)
кортеж.Закрыть()
print ("Кортеж успешно обработан.")

Выход

Выходные данные показывают, что объект кортежа успешно обработан.

Хорошо! Это все было о травлении различных объектов Python.

Примеры Python Unpickling

Теперь давайте посмотрим на несколько примеров процесса распаковки Python. Мы удалим все объекты Python, которые мы выбрали в предыдущих примерах. В процессе распаковки маринованный файл открывается в режиме чтения. Рассол.Функция load () используется для извлечения объекта Python. Файловый объект передается как аргумент рассолу.функция load ().

Пример 1: развернуть список

Объект маринованного списка не выделяется и назначается новому объекту списка.

# импорт модуля рассола
импортный рассол
# открытие спискаПикл-файл в настроении чтения
pickle_in = открытый ('listPickle', 'rb')
# распаковка списка и присвоение объекту списка
num_list = рассол.загрузка (pickle_in)
печать (список_числов)

Выход

Пример 2: развернуть словарь

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

# импорт модуля рассола
импортный рассол
# открытие файла dictPickle в настроении чтения
pickle_in = открытый ('dictPickle', 'rb')
# распаковка словаря и назначение объекту словаря
std_dict = рассол.загрузка (pickle_in)
печать (std_dict)

Выход

Пример 3: извлечение кортежа

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

# импорт модуля рассола
импортный рассол
# открытие файла tuplePickle в настроении чтения
pickle_in = открытый ('tuplePickle', 'rb')
# извлечение кортежа и присвоение объекту словаря
std_dict = рассол.загрузка (pickle_in)
печать (std_dict)

Выход

 Заключение

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

Учебник Battle for Wesnoth
Битва за Веснот - одна из самых популярных стратегических игр с открытым исходным кодом, в которую вы можете играть сейчас. Эта игра не только очень д...
0 А.D. Руководство
Из множества существующих стратегических игр 0 A.D. удается выделиться как всеобъемлющее название и очень глубокая тактическая игра, несмотря на то, ч...
Учебное пособие по Unity3D
Введение в Unity 3D Unity 3D - мощный движок для разработки игр. Это кроссплатформенный, то есть он позволяет создавать игры для мобильных устройств, ...