Piton

Objektumok pácolása a Pythonban

Objektumok pácolása a Pythonban
A JSON és a Pickle modul segítségével bármilyen adat sorozható és deserializálható a Pythonban. Mielőtt bármilyen adatot tárolna egy fájlban, a Python-objektumokat a savanyú modul segítségével sorosítják. A Python objektumokat karaktermodellekké alakítja át ez a modul. Amikor a felhasználó egy másik python szkript használatához szeretné lekérni a fájl adatait, akkor a fájl adatait deserializálja a pickle modul. A pácoló modul szolgáltatásait és azt, hogy ez a modul hogyan használható a python szkriptben a sorozatosításhoz és a dezerializáláshoz, ebben az oktatóanyagban mutatjuk be.

Savanyúság jellemzői:

dump () sorosításhoz:

A dump () függvény az objektumadatok karakter-folyammá alakítására szolgál, mielőtt fájlba mentené. Ennek a függvénynek három argumentuma lehet. Az első két érv kötelező, az utolsó pedig nem kötelező. Az első argumentum egy sorosítandó adatobjektumot vesz fel. A második argumentum annak a fájlnak a fájlkezelő objektumát veszi át, ahol a pckled adatokat tárolni fogják. Az utolsó argumentum a protokoll nevét veszi fel.

Szintaxis:

dump (adat_objektum, fájlobjektum, [protokoll])

terhelés () deserializációhoz:

A load () függvény a fájlból származó adatfolyam adatainak Python objektummá alakítására szolgál. Ez a függvény csak egy argumentumot tartalmaz, és a fájl fájlkezelő objektuma átmegy argumentumértékként, ahonnan az adatokat beolvassák.

Szintaxis:

betöltés (fájl_objektum)

Pácoljon egy egyszerű objektumot egy fájlba

Hozzon létre egy nevű fájlt savanyúság1.py a következő python szkript segítségével.  A következő parancsfájlban megnevezett adatobjektum dataObject bejelentette, hogy a for ciklus iterálásával öt nyelvnevet tárol. Ezután az open () metódust használjuk egy fájlkezelő hozzárendelésére egy nevű bináris fájl létrehozásához nyelveket. lerak() függvényt itt használjuk a dataObject és tárolja a nyelveket fájl.  Ha a sorosítást megfelelően végzik, akkor az „Az adatok sorosítottak” üzenet jelenik meg.

# Importálja a savanyúság modult
import savanyúság
# Deklarálja az objektumot az adatok tárolására
dataObject = []
# Ismételje meg a for ciklust ötször, és vegyen nyelvi neveket
az n tartományban (5):
raw = input ('Írja be a nyelv nevét:')
dataObject.függelék (nyers)
# Nyisson meg egy fájlt az adatok írására
file_handler = open ('nyelvek', 'wb')
# Dobja az objektum adatait a fájlba
savanyú uborka.dump (dataObject, file_handler)
# zárja be a fájlkezelőt az erőforrások felszabadításához
file_handler.Bezárás()
# Üzenet nyomtatása
nyomtatás ('Az adatok sorosítottak')

Kimenet:

A szkript futtatása után öt nyelvnevet kell bevinni.

Adatok szedése egy fájlból

az adatok szedése ellentétes a pácolási adatokkal. Hozzon létre egy nevű fájlt savanyúság2.py a következő python szkript segítségével. Itt, nyisd ki() metódus a megnevezett bináris fájl megnyitására szolgál nyelveket, az előző példában létrehozott. Betöltés() függvény arra szolgál, hogy kiválassza az adatokat a fájlból és tárolja a változóban dataObject. Következő, mert a ciklus az adatok iterálása a dataObject és nyomtasson a terminálba.

# Importálja a savanyúság modult
import savanyúság
# Nyisson meg egy fájlkezelőt egy fájl olvasásához, ahonnan az adatok betöltődnek
file_handler = open ('nyelvek', 'rb')
# Dezerializálás után töltse be az adatokat a fájlból
dataObject = savanyúság.betöltés (file_handler)
# Zárja be a fájlkezelőt
file_handler.Bezárás()
# Üzenet nyomtatása
nyomtatás ('Adatok deserializáció után')
# Ismételd a ciklust az adatok dezerializálás után történő kinyomtatásához
val értékre az dataObject-ben:
print ('Az adatérték:', val)

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

Osztályobjektumot pácoljon egy fájlhoz

Az osztályobjektum pácolásának módját a következő példa mutatja. Hozzon létre egy nevű fájlt savanyúság3.py a következő forgatókönyvvel. Itt, Munkavállaló osztály deklaráltan hozzárendel egy alkalmazott három adatértékét. Ezután egy fájlkezelő objektum nevű fileHandler létrehozásra kerül egy fájl írásra. Az osztályobjektum inicializálása után az adatokat a rendszerrel sorosítják lerak() funkciót, és a megnevezett fájlban tárolja workerData. Ha a fájl megfelelően jön létre, akkor az üzenetet, „Az adatok sorosítottak” kinyomtatja.

# Savanyúság modul importálása
import savanyúság
# Nyújtsa be az alkalmazott osztályt az érték tárolására
osztály alkalmazottja:
def __init __ (saját, név, e-mail, posta):
maga.név = név
maga.email = email
maga.post = post
 
# Létrehozása alkalmazott objektum
empObject = Alkalmazott ('Farheen', '[e-mail védett]', 'Menedzser')
# Nyissa meg a fájlt az adatok tárolásához
fileHandler = nyitott ('workerData', 'wb')
# Mentse az adatokat a fájlba
savanyú uborka.dump (empObject, fileHandler)
# Zárja be a fájlt
fileHandler.Bezárás()
# Üzenet nyomtatása
nyomtatás ('Az adatok sorosítottak')

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

Az adatok szedése egy osztályobjektumhoz

A szükséges tulajdonságokkal és módszerekkel rendelkező osztálynak nyilatkozatot kell tennie az adatok fájlból egy osztályobjektumba történő visszakereséséhez. Hozzon létre egy nevű fájlt savanyúság4.py a következő kóddal. Munkavállaló osztály itt van megadva az adatok lekéréséhez. fileObject változó a fájl megnyitására szolgál, workerData olvasásra. Következő, Betöltés() függvény az adatok tárolására szolgál az osztályobjektumban a deserializáció után. kijelző() funkciója Munkavállaló osztály az osztályobjektum adatértékeinek kinyomtatására szolgál.

# Savanyúság modul importálása
import savanyúság
# Deklarálja az alkalmazotti osztályt az adatok fájlból történő olvasására és kinyomtatására
osztály alkalmazottja:
def __init __ (saját, név, e-mail, posta):
maga.név = név
maga.email = email
maga.post = post
def kijelző (saját):
nyomtatás ('Alkalmazotti információk:')
nyomtatás ('Név:', önálló.név)
print ('E-mail:', önálló.email)
nyomtatás ('Post:', önálló.post)
 
# Nyissa meg a fájlt olvasásra
fileObject = nyitott ('workerData', 'rb')
# Válassza ki az adatokat
alkalmazott = savanyúság.betöltés (fileObject)
# Fájl bezárása
fileObject.Bezárás()
# nyomtassa ki az adatkeretet
munkavállaló.kijelző()

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után.

Következtetés

A savanyú modul a python hasznos szolgáltatása az adatok sorosításához és a deszerializáláshoz. Az oktatóanyagban bemutatott példák befejezése után az adatátvitel egyik python szkriptből egy másik python szkriptbe bárki számára könnyebb lesz.

Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...
Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...
Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...