Поиск по сайту:

Пример рассола Python


В этом уроке мы обсудим пример Python Pickle. В нашем предыдущем уроке мы обсуждали многопроцессорность Python.

Рассол питона

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

Дамп Python Pickle

В этом разделе мы узнаем, как хранить данные с помощью рассола Python. Для этого нам нужно сначала импортировать модуль pickle. Затем используйте функцию pickle.dump() для сохранения данных объекта в файл. Функция pickle.dump() принимает 3 аргумента. Первый аргумент — это объект, который вы хотите сохранить. Второй аргумент — это файловый объект, который вы получаете, открывая нужный файл в режиме write-binary (wb). И третий аргумент — это аргумент ключ-значение. Этот аргумент определяет протокол. Существует два типа протокола — pickle.HIGHEST_PROTOCOL и pickle.DEFAULT_PROTOCOL. Посмотрите пример кода, чтобы узнать, как сбрасывать данные с помощью pickle.

import pickle

# take user input to take the amount of data
number_of_data = int(input('Enter the number of data : '))
data = []

# take input of the data
for i in range(number_of_data):
    raw = input('Enter data '+str(i)+' : ')
    data.append(raw)

# open a file, where you ant to store the data
file = open('important', 'wb')

# dump information to that file
pickle.dump(data, file)

# close the file
file.close()

Загрузка Python Pickle

Чтобы получить замаринованные данные, шаги довольно просты. Для этого вам нужно использовать функцию pickle.load(). Основным аргументом функции загрузки pickle является файловый объект, который вы получаете, открывая файл в режиме чтения-бинарного (rb). Простой! Разве это не так? Давайте напишем код для извлечения данных, которые мы консервировали, используя код дампа pickle. См. следующий код для понимания.

import pickle

# open a file, where you stored the pickled data
file = open('important', 'rb')

# dump information to that file
data = pickle.load(file)

# close the file
file.close()

print('Showing the pickled data:')

cnt = 0
for item in data:
    print('The data ', cnt, ' is : ', item)
    cnt += 1

Вывод будет следующим:

Showing the pickled data:
The data  0  is :  123
The data  1  is :  abc
The data  2  is :  !@#$

Пример рассола Python

Важные примечания о Python Pickle

Несколько важных моментов о модуле рассола Python:

  1. Протокол pickle специфичен для Python — его совместимость с разными языками не гарантируется. Это означает, что вы, скорее всего, не сможете перенести информацию, чтобы сделать ее полезной на других языках программирования.
  2. Также нет гарантии совместимости между различными версиями Python, поскольку не все структуры данных Python могут быть сериализованы модулем.
  3. По умолчанию используется последняя версия протокола pickle, если вы не измените ее вручную.
  4. И последнее, но не менее важное: в соответствии с документацией модуль pickle не защищен от ошибочных или злонамеренных данных.

Итак, это все о примере рассола Python. Надеюсь, что вы хорошо понимаете. Для любого дальнейшего запроса, пожалуйста, используйте раздел комментариев. :) Ссылка: Официальная документация