Розробники Python хочуть зберегти об'єкти даних, такі як списки, словники, кортежі та класи у файл. У цій ситуації в моду вступає модуль розсолу Python.
Pickle - це вбудований модуль Python, який використовується для серіалізації та десеріалізації структури об’єкта Python. Серіалізація - це процес перетворення об’єкта Python у байтовий потік (0 та 1). Він також відомий як маринування. Метою процесу травлення є збереження об’єкта Python на диску у вигляді байтового потоку. Маринований об'єкт Python можна перетворити назад в об'єкт Python, і цей процес відомий як депікалізація або десеріалізація.
Протруювання Python корисно, коли нам потрібно зберегти стан об’єкта Python і виконати завдання аналізу даних. Наприклад, коли ми працюємо з алгоритмами глибокого навчання, і ми хочемо використовувати його пізніше. У такому стані ми можемо зберігати його на диску для подальшого використання. Однак маринування не є хорошим варіантом, коли ми працюємо з різними мовами програмування. Маринований об'єкт не можна розпакувати на будь-якій іншій мові програмування, оскільки він не має міжмовної підтримки. Об'єкт, замаринований у Python, також може бути знятий лише в Python. Те саме стосується різних версій Python; об'єкт, замаринований у певній версії Python, може не бути належним чином розпакований в іншій версії. Щоб виконати процес маринування та депікалізації, спочатку нам потрібно імпортувати модуль маринування у наш скрипт Python.
У цій статті ми навчимось використовувати приклад модуля розсолу Python для маринування та депікації.
Приклади маринування Python
Давайте подивимося кілька прикладів, щоб зрозуміти процес маринування Python. Перш ніж виконувати операцію травлення, нам потрібно відкрити файл у режимі письма. Файл повинен бути відкритий у двійковому режимі, оскільки замаринований об'єкт зберігається в байтовому потоці. Дамп () - це функція модуля розсолу, який використовується для створення розсолу. Для цього потрібно взяти два аргументи, тобто.e., об'єкт Python, який потрібно замаринувати, і файл, в якому буде збережено маринований об'єкт.
Приклад 1: Соліть список
У наведеному прикладі ми створили список номерів і замаринували його за допомогою засолу.функція dump ().
# імпорт модуля розсолуімпортний соління
#declaring список номерів
num_list = [1,2,3,4,5,6]
# вибирати список і зберігати у файлі
listfile = open ('listPickle', 'wb')
соління.дамп (num_list, listfile)
список файлів.закрити ()
print ("Маринування списку створено успішно.")
Вихідні дані
Результат показує, що список успішно замариновано.
Приклад 2: Виберіть словник
Тепер давайте замаринуємо об’єкт словника Python. Студентський словник створюється та маринується за допомогою засолу.функція dump ().
# імпорт модуля розсолуімпортний соління
# декларування студентського словника
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
# вибирати словник та зберігати у файлі
dictfile = open ('dictPickle', 'wb')
соління.дамп (std_dict, dictfile)
dictfile.закрити ()
print ("Словник успішно замаринований.")
Вихідні дані
Результат показує, що словник успішно замаринований.
Приклад 3: Соління кортежу
Тепер давайте замаринуємо об’єкт кортежу Python. Кортежний об'єкт створюється та маринується за допомогою засолу.функція dump ().
# імпорт модуля розсолуімпортний соління
#declaring кортеж
my_tuple = ((1,1), (2,2), (3,3), (4,4))
# вибирати словник та зберігати у файлі
tuplefile = відкритий ('tuplePickle', 'wb')
соління.дамп (my_tuple, tuplefile)
кортежний файл.закрити ()
print ("Кортеж успішно замаринований.")
Вихідні дані
Результат показує, що об'єкт кортежу успішно замаринований.
Гаразд! Це все стосувалося маринування різних об’єктів Python.
Приклади вибору Python
Тепер давайте подивимося кілька прикладів для процесу вилучення Python. Ми розпакуємо всі об’єкти Python, які ми маринували у попередніх прикладах. У процесі зняття файлів замаринований файл відкривається в режимі читання. Соління.Функція load () використовується для видалення об'єкта Python. Об'єкт файлу передається як аргумент засолу.функція load ().
Приклад 1: Зніміть список
Маринований об'єкт списку видаляється та призначається новому об'єкту списку.
# імпорт модуля розсолуімпортний соління
#opening the listPickle файл у настрої читання
pickle_in = open ('listPickle', 'rb')
#unpickling список і присвоєння об'єкту списку
num_list = соління.навантаження (pickle_in)
друк (num_list)
Вихідні дані
Приклад 2: Виберіть словник
Маринований об’єкт словника студента не вибирається та призначається новому об’єкту словника.
# імпорт модуля розсолуімпортний соління
# відкриття файлу dictPickle у настрої читання
pickle_in = відкритий ('dictPickle', 'rb')
# unpickling dict і присвоєння об’єкту словника
std_dict = маринувати.навантаження (pickle_in)
друк (std_dict)
Вихідні дані
Приклад 3: Вилучіть вивід кортежу
Маринований об'єкт кортежу видаляється та призначається новому об'єкту кортежу.
# імпорт модуля розсолуімпортний соління
# відкриття файлу tuplePickle у режимі читання
pickle_in = відкритий ('tuplePickle', 'rb')
# unpickling кортеж і присвоєння об'єкту словника
std_dict = маринувати.навантаження (pickle_in)
друк (std_dict)
Вихідні дані
Висновок
Pickle - це вбудований модуль Python, який використовується для виконання операцій серіалізації та десеріалізації. Серіалізація та десеріалізація також відомі як травлення та депікалізація відповідно. За допомогою засолу ми можемо зберегти об’єкт Python у вигляді байтового потоку, а потім отримати його. Процес розпакування стосується перетворення замаринованого об'єкта в об'єкт Python. У цій статті на прикладах пояснюється процес маринування та депікації.