Python

Урок за Python Pickle

Урок за Python Pickle

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

Pickle е вграденият модул на Python, който се използва за сериализиране и десериализиране на структурата на обекта на Python. Сериализацията е процес на преобразуване на обекта на Python в байтов поток (0 и 1). Известно е още като мариноване. Целта на процеса на ецване е да запази обекта Python на диск под формата на байтов поток. Маринованият обект на Python може да бъде преобразуван обратно в обекта на Python и този процес е известен като депириране или десериализация.

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

В тази статия ще се научим да използваме модула на туршията Python за извършване на ецване и депикиране с примери.

Примери за ецване на Python

Нека да видим няколко примера за разбиране на процеса на ецване на Python. Преди да извършим операцията за ецване, трябва да отворим файла в режим на запис. Файлът трябва да се отвори в двоичен режим, тъй като маринованият обект се съхранява в байтовия поток. Dump () е функция на модула за туршия, който се използва за създаване на туршия. Необходими са два аргумента, т.е.д., обектът на Python, който ще се маринова и файлът, в който ще се запази маринованият обект.

Пример 1: Маркирайте списък

В дадения пример създадохме списък с числа и го мариновахме с помощта на туршията.функция dump ().

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

Изход

Резултатът показва, че списъкът е маринован успешно.

Пример 2: Изберете речник

Сега, нека мариноваме обект на речника на Python. Студентски речник се създава и маринова с помощта на туршия.функция dump ().

#importing модул за туршия
внос туршия
#declaring студентски речник
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
# избиране на речника и съхраняване във файл
dictfile = отворен ('dictPickle', 'wb')
туршия.изхвърляне (std_dict, dictfile)
dictfile.близо()
print ("Речникът е маринован успешно.")

Изход

Резултатът показва, че речникът е маринован успешно.

Пример 3: Мариновайте кортеж

Сега, нека мариноваме обект на кортеж на Python. Обект на кортеж се създава и маринова с помощта на туршия.функция dump ().

#importing модул за туршия
внос туршия
#declaring кортеж
my_tuple = ((1,1), (2,2), (3,3), (4,4))
# избиране на речника и съхраняване във файл
tuplefile = отворен ('tuplePickle', 'wb')
туршия.дъмп (my_tuple, tuplefile)
Tuplefile.близо()
print ("Кортежът е маринован успешно.")

Изход

Резултатът показва, че обектът на кортежа е маринован успешно.

Добре! Това беше всичко за мариноването на различните обекти на Python.

Примери за премахване на Python

Сега нека да видим няколко примера за процеса на депикиране на Python. Ще премахнем всички обекти на Python, които сме мариновали в предишните примери. В процеса на депикиране, маринованият файл се отваря в режим на четене. Туршията.Функцията load () се използва за депикиране на обекта Python. Файловият обект се предава като аргумент на туршията.функция load ().

Пример 1: Депилирайте списък

Маринованият списъчен обект се депикира и се присвоява на нов списъчен обект.

#importing модул за туршия
внос туршия
#opening the listPickle файл в настроение за четене
pickle_in = отворен ('listPickle', 'rb')
#unpickling списъка и присвояване на обект списък
num_list = туршия.зареждане (pickle_in)
печат (num_list)

Изход

Пример 2: Депилирайте речник

Маринованият обект на речника на ученика се депикира и се присвоява на нов обект на речника.

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

Изход

Пример 3: Депилирайте tupleOutput

Маринованият кортеж обект се депикира и се присвоява на нов обект кортеж.

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

Изход

 Заключение

Pickle е вграден модул на Python, който се използва за извършване на операции по сериализация и десериализация. Сериализацията и десериализацията са известни също като ецване и депикиране, съответно. Чрез ецване можем да съхраняваме обекта на Python под формата на байтов поток и по-късно да го извлечем. Процесът на депикиране се отнася до конвертиране на маринования обект в обект на Python. Тази статия обяснява процеса на ецване и депилация с примери.

Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...
Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...