Piton

Cum să murăm obiecte în Python

Cum să murăm obiecte în Python
Orice date pot fi serializate și deserializate în Python utilizând modulul JSON și Pickle. Înainte de a stoca orice date într-un fișier, obiectele Python sunt serializate utilizând modulul de murare. Obiectele Python sunt convertite în fluxuri de caractere utilizând acest modul. Atunci când utilizatorul dorește să recupereze datele fișierului pentru a utiliza un alt script python, atunci datele fișierului sunt deserializate prin modulul pickle. Caracteristicile modulului pickle și modul în care acest modul poate fi utilizat în scriptul Python pentru serializare și deserializare sunt descrise în acest tutorial.

Caracteristici murături:

dump () pentru serializare:

funcția dump () este utilizată pentru a converti datele obiectului într-un flux de caractere înainte de a le salva într-un fișier. Această funcție poate lua trei argumente. Primele două argumente sunt obligatorii, iar ultimul argument este opțional. Primul argument ia un obiect de date care trebuie serializat. Al doilea argument ia obiectul de gestionare a fișierului acelui fișier în care datele stocate vor fi stocate. Ultimul argument ia numele protocolului.

Sintaxă:

dump (data_object, file_object, [protocol])

load () pentru deserializare:

funcția load () este utilizată pentru a converti datele fluxului de caractere din fișier într-un obiect Python. Această funcție conține un singur argument și obiectul de gestionare a fișierului din fișier trece ca valoare a argumentului de unde vor fi preluate datele.

Sintaxă:

încărcare (fișier_obiect)

Pickle un obiect simplu de stocat într-un fișier

Creați un fișier numit murătură1.py cu următorul script python.  În scriptul următor, un obiect de date numit dataObject este declarat pentru a stoca cinci nume de limbi iterând bucla for. Apoi, metoda open () este utilizată pentru a atribui un handler de fișiere pentru crearea unui fișier binar numit limbi. dump () funcția este utilizată aici pentru a serializa datele dataObject și păstrați-l în limbi fişier.  Dacă serializarea se va face corect, se va imprima un mesaj, „Datele sunt serializate”.

# Importați modulul de murături
import murat
# Declarați obiectul pentru stocarea datelor
dataObject = []
# Iterează bucla for de 5 ori și ia nume de limbă
pentru n în intervalul (5):
raw = input („Introduceți un nume de limbă:”)
dataObject.adăuga (brut)
# Deschideți un fișier pentru scrierea datelor
file_handler = open ('limbi', 'wb')
# Aruncați datele obiectului în fișier
murături.dump (dataObject, file_handler)
# închideți gestionarul de fișiere pentru a elibera resursele
manipulator_fișier.închide()
# Imprimați mesajul
print („Datele sunt serializate”)

Ieșire:

După rularea scriptului, vor fi introduse cinci nume de limbi.

Desfaceți datele dintr-un fișier

dezlipirea datelor este opusul datelor de decapare. Creați un fișier numit murătură2.py cu următorul script python. Aici, deschis() metoda este utilizată pentru a deschide fișierul binar numit limbi, creat în exemplul anterior. sarcină() funcția este utilizată pentru a dezactiva datele din fișier și a le stoca în variabilă dataObject. Următorul, pentru se utilizează bucla iterați datele din dataObject și tipăriți în terminal.

# Importați modulul de murături
import murat
# Deschideți un handler de fișiere pentru citirea unui fișier de unde se vor încărca datele
file_handler = open ('limbi', 'rb')
# Încărcați datele din fișier după deserializare
dataObject = murătură.încărcare (file_handler)
# Închideți gestionarul de fișiere
manipulator_fișier.închide()
# Imprimați mesajul
print („Date după deserializare”)
# Iterează bucla pentru a imprima datele după deserializare
pentru val în dataObject:
print („Valoarea datelor:”, val)

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Pickle un obiect de clasă într-un fișier

Modul în care un obiect de clasă poate fi murat este prezentat în exemplul următor. Creați un fișier numit murături3.py cu următorul script. Aici, Angajat clasa este declarată pentru a atribui trei valori de date unui angajat. Apoi, un obiect de gestionare a fișierelor numit fileHandler este creat pentru a deschide un fișier pentru scriere. După inițializarea obiectului clasei, datele sunt serializate folosind dump () funcție și stocate în fișierul numit dataData angajat. Dacă fișierul se va crea corect, atunci mesajul, „Datele sunt serializate” va imprima.

# Importați modul de murături
import murat
# Declarați clasa angajaților pentru a stoca valoarea
clasa Angajat:
def __init __ (self, name, email, post):
de sine.nume = nume
de sine.email = email
de sine.post = post
 
#Creați obiectul angajatului
empObject = Angajat ('Farheen', '[email protected]', 'Manager')
# Deschideți fișierul pentru datele din magazin
fileHandler = open ('data angajat', 'wb')
# Salvați datele în fișier
murături.dump (empObject, fileHandler)
# Închideți fișierul
fileHandler.închide()
# Imprimați mesajul
print („Datele sunt serializate”)

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Desfaceți datele într-un obiect de clasă

O clasă cu proprietățile și metodele necesare va trebui să declare pentru recuperarea datelor dintr-un fișier într-un obiect de clasă. Creați un fișier numit murături4.py cu următorul cod. Angajat clasa este definită aici pentru a prelua datele. fileObject variabila este utilizată pentru a deschide fișierul, dataData angajat pentru citit. Următorul, sarcină() funcția este utilizată pentru a stoca datele în obiectul clasei după deserializare. afişa() funcția Angajat clasa este chemată să imprime valorile de date ale obiectului clasei.

# Importați modul de murături
import murat
# Declarați clasa angajaților să citească și să imprime date dintr-un fișier
clasa Angajat:
def __init __ (self, name, email, post):
de sine.nume = nume
de sine.email = email
de sine.post = post
afișare def (auto):
print („Informații pentru angajați:”)
print ('Nume:', auto.Nume)
print („E-mail:”, auto.e-mail)
print („Post:”, auto.post)
 
# Deschideți fișierul pentru citire
fileObject = deschis ('angajatDate', 'rb')
# Desfaceți datele
angajat = murat.incarcare (fileObject)
# Închideți fișierul
fileObject.închide()
#imprimă cadrul de date
angajat.afişa()

Ieșire:

Următoarea ieșire va apărea după rularea scriptului.

Concluzie

Modulul Pickle este o caracteristică utilă a python pentru serializarea și deserializarea datelor. După finalizarea exemplelor prezentate în acest tutorial, transferul de date dintr-un script python în alt script python va fi mai ușor pentru oricine.

Best Gamepad Mapping Apps for Linux
If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC ga...
Instrumente utile pentru jucătorii Linux
Dacă vă place să jucați jocuri pe Linux, este posibil să fi folosit aplicații și utilitare precum Wine, Lutris și OBS Studio pentru a îmbunătăți exper...
Jocuri HD remasterizate pentru Linux care nu au avut niciodată lansare Linux mai devreme
Mulți dezvoltatori și editori de jocuri vin cu remasterizarea HD a jocurilor vechi pentru a prelungi durata de viață a francizei, vă rog fanilor să so...