Како киселити објекте у Питхону

How Pickle Objects Python



Сви подаци се могу серијски и десеријализовати у Питхону помоћу ЈСОН и Пицкле модула. Пре складиштења било каквих података у датотеку, Питхон објекти се серијализују помоћу пицкле модула. Питхон објекти се помоћу овог модула претварају у низове знакова. Када корисник жели да преузме податке датотеке за коришћење друге питхон скрипте, тада се подаци датотеке десеријализују помоћу пицкле модула. Особине пицкле модула и како се овај модул може користити у питхон скрипти за сериализацију и десериализатион описане су у овом водичу.

Карактеристике киселих краставаца:

  • Углавном је дизајниран за употребу за Питхон скрипту.
  • Користи се за чување питхон објеката између процеса.
  • Он води евиденцију о свим серијализованим објектима и објект који је претходно серијализован неће се поново серијализовати.
  • Може транспарентно сачувати и вратити инстанцу класе.
  • Није безбедно за употребу. Дакле, није боље уклонити податке из непознатог извора.

думп () за серијализацију:

думп () функција се користи за претварање података објекта у низ знакова пре снимања у датотеку. Ова функција може узети три аргумента. Прва два аргумента су обавезна, а последњи није обавезан. Први аргумент узима објекат података који треба да се серијализује. Други аргумент узима објекат руковаоца датотеком те датотеке у који ће бити ускладиштени подаци. Последњи аргумент узима назив протокола.







Синтакса:



Депонија(дата_објецт,филе_објецт, [протокол])

лоад () за десеријализацију:

лоад () функција се користи за претварање података тока знакова из датотеке у Питхон објект. Ова функција садржи само један аргумент и објекат руковаоца датотеком пролази као вредност аргумента одакле ће се преузети подаци.



Синтакса:





оптерећење(филе_објецт)

Изаберите једноставан објекат за чување у датотеци

Направите датотеку под називом пицкле1.пи са следећом питхон скриптом. У следећој скрипти, објекат података назван датаОбјецт је декларисано да складишти пет назива језика понављањем фор петље. Затим се метода опен () користи за додељивање руковаоца датотекама за креирање бинарне датотеке по имену језици. Депонија() функција се овде користи за сериализацију података о датаОбјецт и чувајте га у језици филе. Ако ће сериализација бити правилно изведена, штампаће се порука Дата сериализед.

# Увезите модул за туршију
увоз кисели краставац

# Прогласите објекат за складиштење података
датаОбјецт= []

# Понављајте фор петљу 5 пута и преузмите имена језика
зану домет(5):
сирово= улазни('Унесите назив језика:')

датаОбјецт.додати(сирово)

# Отворите датотеку за писање података
филе_хандлер= отворен('језици', 'вб')

# Убаците податке објекта у датотеку
кисели краставац.Депонија(датаОбјецт,филе_хандлер)

# затворите руковатељ датотекама да бисте ослободили ресурсе
филе_хандлер.Близу()

# Одштампај поруку
принт(„Подаци се серијски приказују“)

Излаз:



Након покретања скрипте, за унос ће бити потребно пет назива језика.

Уклоните брисање података из датотеке

брисање података је супротно од кисељења података. Направите датотеку под називом пицкле2.пи са следећом питхон скриптом. Овде, опен () метода се користи за отварање бинарне датотеке са именом језици , креиран у претходном примеру. лоад () функција се користи за брисање података из датотеке и њихово складиштење у променљивој датаОбјецт . Следећи, за лооп се користи за понављање података из датаОбјецт и одштампајте у терминалу.

# Увезите модул за туршију
увоз кисели краставац

# Отворите управљач датотекама за читање датотеке одакле ће се подаци учитати
филе_хандлер= отворен('језици', 'рб')

# Учитајте податке из датотеке након десеријализације
датаОбјецт= кисели краставац.оптерећење(филе_хандлер)

# Затворите руковатељ датотекама
филе_хандлер.Близу()

# Одштампај поруку
принт(„Подаци након десеријализације“)

# Поновите петљу за штампање података након десеријализације
захрсудатаОбјецт:
принт(„Вредност података:“,хрс)

Излаз:

Следећи излаз ће се појавити након покретања скрипте.

Изаберите објект класе у датотеку

У следећем примеру је приказано како се објекат класе може укиселити. Направите датотеку под називом пицкле3.пи са следећим писмом. Овде, Запослени класа је декларисана да додељује три вредности података запосленог. Затим, објекат за обраду датотека назван филеХандлер је креиран за отварање датотеке за писање. Након иницијализације објекта класе, подаци се серијализују помоћу Депонија() функцију и чувају у датотеци под називом ЕмплоиеаДата . Ако ће се датотека правилно креирати, порука, Подаци се серијализују штампаће.

# Увези модул за туршију
увоз кисели краставац

# Прогласите класу запослених за складиштење вредности
класаЗапослени:
деф __у томе__(себе,име, емаил,пошта):
себе.име =име
себе.емаил = емаил
себе.пошта =пошта

#Креирајте објекат запосленог
емпОбјецт=Запослени('Фархеен', '[заштићена е -пошта]', 'Менаџер')

# Отворите датотеку за податке продавнице
филеХандлер= отворен('ЕмплоиеДата', 'вб')

# Сачувајте податке у датотеку
кисели краставац.Депонија(емпОбјецт,филеХандлер)

# Затворите датотеку
филеХандлер.Близу()

# Одштампај поруку
принт(„Подаци се серијски приказују“)

Излаз:

Следећи излаз ће се појавити након покретања скрипте.

Откажите податке са објекта класе

Класа са потребним својствима и методама ће захтевати декларисање за преузимање података из датотеке у објекат класе. Направите датотеку под називом пицкле4.пи са следећим кодом. Запослени класа је овде дефинисана за преузимање података. филеОбјецт променљива се користи за отварање датотеке, ЕмплоиеаДата за читање. Следећи, лоад () функција се користи за складиштење података у објекту класе након десеријализације. приказ() функција Запослени класа се позива за штампање вредности података објекта класе.

# Увези модул за туршију
увоз кисели краставац

# Прогласите класу запослених да чита и штампа податке из датотеке
класаЗапослени:
деф __у томе__(себе,име, емаил,пошта):
себе.име =име
себе.емаил = емаил
себе.пошта =пошта

дефприказ(себе):
принт(„Подаци о запосленима:“)
принт('Име:', себе.име)
принт('Емаил:', себе.емаил)
принт('Пошта :', себе.пошта)

# Отворите датотеку за читање
филеОбјецт= отворен('ЕмплоиеДата', 'рб')

# Опозовите брисање података
запослени= кисели краставац.оптерећење(филеОбјецт)

# Затвори датотеку
филеОбјецт.Близу()

#одштампајте оквир података
запослени.приказ()

Излаз:

Следећи излаз ће се појавити након покретања скрипте.

Закључак

Пицкле модул је корисна функција питхона за серијализацију и десеријализацију података. Након довршетка примера приказаних у овом водичу, пренос података из једне питхон скрипте у другу питхон скрипту биће лакши за свакога.