Pytonorm

Hur man betar föremål i Python

Hur man betar föremål i Python
Alla data kan serieiseras och deserialiseras i Python med hjälp av JSON och Pickle-modulen. Innan data lagras i en fil, serieras Python-objekt med hjälp av pickle-modul. Python-objekt konverteras till teckenströmmar med hjälp av den här modulen. När användaren vill hämta data i filen för att använda ett annat python-skript, deserialiseras filens data med pickle-modul. Funktionerna i pickle-modul och hur den här modulen kan användas i python-skript för serialisering och deserialisering beskrivs i denna handledning.

Pickle-funktioner:

dump () för serialisering:

dump () -funktionen används för att konvertera objektdata till en teckenström innan du sparar i en fil. Denna funktion kan ta tre argument. De två första argumenten är obligatoriska och det sista argumentet är valfritt. Det första argumentet tar ett dataobjekt som måste serienummeras. Det andra argumentet tar objektet för filhanteraren för den filen där den pckledata lagras. Det sista argumentet tar protokollnamnet.

Syntax:

dumpa (data_object, file_object, [protocol])

load () för deserialisering:

load () -funktionen används för att konvertera teckenströmdata från filen till ett Python-objekt. Den här funktionen innehåller bara ett argument och filhanteringsobjektet för filen passerar som argumentvärdet varifrån data kommer att hämtas.

Syntax:

ladda (file_object)

Pickle ett enkelt objekt att lagra i en fil

Skapa en fil med namnet pickle1.py med följande python-skript.  I följande skript, ett dataobjekt med namnet dataObject förklaras lagra fem språknamn genom att itera it for-loop. Därefter används metoden open () för att tilldela en filhanterare för att skapa en binär fil med namnet språk. dumpa() funktionen används här för att serieera data från dataObject och förvara den i språk fil.  Om serialiseringen kommer att göras ordentligt kommer ett meddelande, "Data serialiseras" att skrivas ut.

# Importera pickle-modulen
importera knipa
# Förklara objektet för att lagra data
dataObject = []
# Iterera for-slingan fem gånger och ta språknamn
för n inom intervallet (5):
raw = input ('Ange ett språknamn:')
dataObject.bifoga (rå)
# Öppna en fil för att skriva data
file_handler = öppen ('språk', 'wb')
# Dumpa objektets data i filen
ättikslag.dump (dataObject, file_handler)
# stäng filhanteraren för att frigöra resurserna
filhanterare.stänga()
# Skriv ut meddelande
skriva ut ('Data serialiseras')

Produktion:

Efter att ha kört skriptet tar det fem språknamn som inmatning.

Avmarkera data från en fil

avmarkering av data är motsatsen till betningsdata. Skapa en fil med namnet pickle2.py med följande python-skript. Här, öppna() metoden används för att öppna den binära filen som heter språk, skapades i föregående exempel. ladda() funktionen används för att avmarkera data från filen och lagra den i variabeln dataObject. Nästa, för loop används itera data från dataObject och skriv ut i terminalen.

# Importera pickle-modulen
importera knipa
# Öppna en filhanterare för att läsa en fil från vilken data laddas
file_handler = öppen ('språk', 'rb')
# Ladda data från filen efter deserialisering
dataObject = pickle.ladda (file_handler)
# Stäng filhanteraren
filhanterare.stänga()
# Skriv ut meddelande
skriva ut ('Data efter deserialisering')
# Iterera slingan för att skriva ut data efter deserialisering
för val in dataObject:
skriv ut ('Datavärdet:', val)

Produktion:

Följande utdata visas efter körning av skriptet.

Pickle ett klassobjekt till en fil

Hur ett klassobjekt kan betas visas i följande exempel. Skapa en fil med namnet pickle3.py med följande skript. Här, Anställd klass förklaras att tilldela tre datavärden för en anställd. Därefter ett filhanteringsobjekt med namnet fileHandler skapas för att öppna en fil för skrivning. Efter att ha initierat klassobjektet serieras data med hjälp av dumpa() funktion och lagras i namnet på filen medarbetardata. Om filen kommer att skapas ordentligt då meddelandet, “Data serialiseras” kommer att skriva ut.

# Importera pickle-modul
importera knipa
# Förklara anställdsklassen för att lagra värdet
klass Anställd:
def __init __ (själv, namn, e-post, post):
själv.namn = namn
själv.e-post = e-post
själv.post = post
 
# Skapa anställdsobjekt
empObject = Anställd ('Farheen', '[email protected]', 'Manager')
# Öppna filen för lagringsdata
fileHandler = öppen ('employeeData', 'wb')
# Spara data i filen
ättikslag.dumpa (empObject, fileHandler)
# Stäng filen
fileHandler.stänga()
# Skriv ut meddelande
skriva ut ('Data serialiseras')

Produktion:

Följande utdata visas efter körning av skriptet.

Avmarkera data till ett klassobjekt

En klass med nödvändiga egenskaper och metoder kräver att deklarera för att hämta data från en fil till ett klassobjekt. Skapa en fil med namnet pickle4.py med följande kod. Anställd klass definieras här för att hämta data. fileObject variabel används för att öppna filen, medarbetardata för läsning. Nästa, ladda() funktionen används för att lagra data i klassobjektet efter deserialisering. visa() funktion av Anställd klass anropas för att skriva ut datavärdena för klassobjektet.

# Importera pickle-modul
importera knipa
# Förklara medarbetarklass att läsa och skriva ut data från en fil
klass Anställd:
def __init __ (själv, namn, e-post, post):
själv.namn = namn
själv.e-post = e-post
själv.post = post
def-display (själv):
skriv ut ('Anställd information:')
skriva ut ('Namn:', själv.namn)
skriva ut ('E-post:', själv.e-post)
print ('Post:', själv.posta)
 
# Öppna filen för läsning
fileObject = öppen ('employeeData', 'rb')
# Avmarkera data
anställd = pickle.ladda (fileObject)
# Stäng fil
fileObject.stänga()
# skriv ut dataramen
anställd.visa()

Produktion:

Följande utdata visas efter körning av skriptet.

Slutsats

Pickle-modul är en användbar funktion i python för dataserialisering och deserialisering. Efter att ha slutfört exemplen som visas i den här handledningen blir dataöverföringen från ett pythonscript till ett annat pythonscript lättare för alla.

Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...
Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...