Словарь рассола в Python

Slovar Rassola V Python



Pickle можно использовать для предварительной обработки фреймворков сущностей Python, которая представляет собой процесс преобразования объекта из памяти в поток байтов, который можно сохранить на диск в двоичном формате. Эта процедура известна как сериализация. Для этого используйте метод pickle dump(). Когда эта двоичная запись снова загружается в программу Python, ее можно десериализовать и преобразовать обратно в объект Python с помощью метода pickle load().

В этой статье вы узнаете, как хранить данные, а точнее словарь, с помощью модуля pickle Python. Для начала мы должны приобрести модуль pickle. Pickle dump() принимает три параметра. Первый вход указывает данные для сохранения. Второй параметр — это файловый объект, возвращаемый при открытии файла в двоичном режиме записи (wb). Аргумент ключ-значение является третьим параметром. Протокол определяется этим параметром. Рассол подразделяется на два типа: САМЫЙ ВЫСОКИЙ ПРОТОКОЛ, а также рассол ПО УМОЛЧАНИЮ. Для извлечения или десериализации данных используется метод pickle load(), с помощью которого файловый объект получается путем открытия файла в режиме чтения-бинарного (rb).







Пример 1. Сериализация и десериализация данных в файле Pickle с использованием функции дампа и загрузки Pickle

В этом примере мы узнаем, как сериализовать и десериализовать данные в виде словаря с помощью очень простого кода.




В коде, представленном на предыдущей иллюстрации, импортирован первый модуль pickle из библиотеки Python, чтобы можно было использовать его методы. Затем инициализируется словарь данных с двумя ключами и значениями, который сохраняется в переменной с именем «shape». В следующей строке метод pickle dump() используется для открытия нового файла с именем «info.p» в двоичном режиме записи (wb), и в этом файле сохраняются данные «shape». В следующей строке используется метод pickle load() для того же файла, в который мы выгрузили данные в режиме rb. Это возвращает данные нашего словаря и сохраняется в переменной с именем «a». Наконец, этот возвращенный объект отображается на выходном терминале с помощью команды печати, как показано на следующем снимке экрана.



Мы видим, что данные сначала были сохранены в файле «info.p» методом дампа. Затем, когда мы применили метод load() к тому же файлу, мы получили обратно наши данные.





Пример 2. Использование функции Pickle Dump с дополнительным протоколом для сериализации данных в Python

Это аналогичный пример, в котором мы используем дополнительный протокол «HIGHEST_PROTOCOL» для рассола, который является последним протоколом. Этот протокол позволяет использовать новые языковые функции, которые мы можем использовать, и включать оптимизации.




В коде, представленном на предыдущей иллюстрации, импортируется первый модуль pickle. Затем инициализируется словарь одного элемента с ключом и значением, который сохраняется в переменной «a». В следующей строке новый файл, который является «info.p», открывается в режиме wb в качестве дескриптора. Теперь файл находится в объекте с именем «дескриптор». Затем функция dump() используется для «обработки» словаря «a» с использованием «HIGHEST_PROTOCOL». Это позволяет сохранить словарь в «а» в файле «info.p» на диске компьютера. Чтобы извлечь информацию из файла, файл сначала открывается в режиме «rb». Затем для этого файла используется метод pickle load(). Возвращенные данные сохраняются в атрибуте «b». Наконец, с помощью команды печати эта информация отображается на выходном узле, как показано на следующем снимке экрана:

Пример 3. Сериализация и десериализация списка данных в файле Pickle с использованием функции дампа и загрузки Pickle

В этом примере сначала импортируется модуль pickle. Затем некоторые данные вставляются в словарь в формате списка и сохраняются в переменной «shape_colors». В следующей строке метод pickle dump() используется непосредственно с этими данными. Вместо файла в его параметре открывается файл «info.p» в режиме wb. В результате данные словаря теперь сбрасываются в этот файл, который хранится на диске компьютера. Затем для чтения данных из файла используется метод pickle load() для того же файла. Возвращенные данные сохраняются в переменной «a». Наконец, с помощью команды печати эта информация отображается на вторичных терминалах, как показано на следующем снимке:



Пример 4. Сохранение информации в файле Pickle с использованием функций дампа и загрузки Pickle с разными параметрами

В предоставленном коде импортируется первый модуль pickle. Затем инициализируется словарь зарплат, который сохраняется в переменной «salaries». В следующей строке в качестве дескриптора открывается новый файл «salary.p» в режиме wb. Теперь файл находится в объекте с именем «дескриптор». Затем используется функция pickle dump() для «обработки» словаря «salaries» с использованием «HIGHEST_PROTOCOL». Это позволяет сохранить словарь в «salary» в файле «salary.p» на диске компьютера. Теперь, чтобы получить данные обратно из файла, файл сначала открывается в режиме «rb». Затем для этого файла используется метод pickle load(). Восстановленная информация сохраняется в переменной «a». В конечном итоге с помощью команды печати эти данные отображаются на выходе, как показано на следующем снимке:



Пример 5. Сериализация и десериализация данных в нескольких измерениях в файле Pickle с использованием функции дампа и загрузки Pickle

Создание DataFrames (многомерных таблиц) в Python удобно для тестирования новых методов и функций, найденных в модуле Python Panda. Существуют различные способы создания DataFrame с нуля, но один из самых простых — использовать базовый словарь.


В коде, представленном на предыдущей иллюстрации, импортируются первые модули pickle и Pandas. Затем с помощью метода pd.DataFrame() создается многомерная таблица. Следующий атрибут стратегии — список из четырех списков. Каждый список соответствует строке таблицы. Второй параметр — «столбцы», который определяет заголовок каждого столбца таблицы. Этот DataFrame хранится в «pre». Затем новый файл «attendance.p» открывается в режиме wb, и метод pickle dump() применяется к этому файлу с DataFrame. Теперь указанные нами данные хранятся в файле «attendance.p» на жестком диске компьютера.


Чтобы получить данные из файла, мы открываем файл в режиме rb, который позволяет читать файл. Затем в файле «attendance.p» используется метод pickle load(). Наконец, данные в файле отображаются на выходном терминале. Как мы видим, весь DataFrame отображается на выходном терминале, который хранится в файле «attendance.p».

Вывод

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