Pickle kan brukes til å forhåndsbehandle Python Entity Frameworks, som er prosessen med å konvertere et objekt fra minnet til en byte-strøm som kan lagres til platen som et binært format. Denne prosedyren er kjent som serialisering. For å oppnå dette, bruk pickle Dump () -metoden. Når denne binære posten er lastet inn i et Python-program igjen, kan den de-serialiseres og konverteres tilbake til et Python-objekt ved hjelp av syltelast () -metoden.
Denne artikkelen lærer deg hvordan du lagrer dataene, mer spesifikt en ordbok, ved hjelp av Pythons Pickle -modul. For å begynne. Pickle Dump () godtar tre parametere. Den første inngangen spesifiserer dataene som skal lagres. Den andre parameteren er filobjektet som returneres når en fil åpnes i skrivebinær (WB) -modus. Keyverdi-argumentet er den tredje parameteren. Protokollen er definert av denne parameteren. En sylteagurk er klassifisert i to typer: høyeste protokoll samt en pickle standardprotokoll. For å hente eller deserialisere dataene, brukes pickle Load () -metoden som et filobjekt oppnås ved å åpne en fil i Read-Binary (RB) -modus.
Eksempel 1: Serialisering og deserialisering av data i en pickle -fil ved hjelp av pickle -dump og lastfunksjon
I dette eksemplet vil vi lære å serialisere og deserialisere dataene som en ordbok med en veldig enkel kode.
I koden som presenteres i forrige illustrasjon, importeres den første pickle -modulen fra Python -biblioteket slik at metodene kan brukes. Deretter blir en ordbok med data med 2 taster og verdier initialisert og lagret i variabelen som heter "form". I neste linje brukes pickle Dump () -metoden til å åpne en ny fil med navnet “Info.P ”i skrivebinær (WB) -modus og“ Form ”-data lagres i denne filen. I neste linje brukes pickle Load () -metoden for den samme filen der vi dumpet dataene i RB -modus. Dette returnerer våre ordboksdata og lagres i variabelen som heter “A”. Til slutt vises dette returnerte objektet på utgangsterminalen ved å bruke utskriftskommandoen som vist på følgende skjermbilde.
Vi kan se at dataene først ble lagret i “Info.P ”-fil ved hjelp av dumpmetoden. Da vi benyttet Load () -metoden til samme fil, fikk vi tilbake dataene våre.
Eksempel 2: Bruke pickle dump -funksjonen med en tilleggsprotokoll for å serialisere dataene i Python
Dette er et lignende eksempel der vi bruker en tilleggsprotokoll, "høyest_protokoll", av sylteagurk som er den siste protokollen. Denne protokollen tillater nye språkfunksjoner som vi kan bruke og inkludere optimaliseringer.
I koden som er gitt i forrige illustrasjon, importeres den første pickle -modulen. Deretter blir en ordbok for ett element med en nøkkel og verdi initialisert og lagret i variabelen “A”. I neste linje, en ny fil som er “Info.P ”åpnes i WB -modus som et håndtak. Nå er filen i objektet som heter “Håndtak”. Deretter brukes dump () -funksjonen til "" håndtak "med ordboken" A "ved å bruke" høyest_protokoll ". Dette gjør at ordboken i “A” kan lagres i “Info.P ”-fil på datamaskinens disk. For å hente ut informasjonen fra filen, åpnes filen først i "RB" -modus. Deretter brukes pickle Load () -metoden for denne filen. De returnerte dataene lagres i attributtet “B”. Til slutt, ved hjelp av utskriftskommandoen, vises denne informasjonen i utgangsnoden, som sett i følgende skjermbilde:
Eksempel 3: Serialisering og deserialisering av en liste over data i en pickle -fil ved hjelp av pickle -dump og lastfunksjon
I dette eksemplet importeres pickle -modulen først. Deretter settes noen data inn i en ordbok i et listeformat og lagres i variabelen "Shape_Colors". I neste linje brukes pickle Dump () -metoden direkte med disse dataene. I stedet for filen i sin parameter, “Info.P ”-fil åpnes i WB -modus. Som et resultat blir nå ordboksdataene dumpet i denne filen som er lagret på datamaskinens disk. Deretter, for å lese dataene fra filen, brukes pickle Load () -metoden på samme fil. De returnerte dataene lagres i variabelen “A”. Til slutt, ved hjelp av utskriftskommandoen, vises denne informasjonen på sekundærterminalene, som avbildet i følgende øyeblikksbilde:
Eksempel 4: Lagring av informasjon i en pickle -fil ved hjelp av pickle -dump og lastfunksjoner med forskjellige parametere
I koden som er gitt, importeres den første pickle -modulen. Deretter blir en lønn om lønn initialisert og lagret i "lønn" -variabelen. I neste linje "en ny fil" lønn.P ”åpnes i WB -modus som et håndtak. Nå er filen i objektet som heter “Håndtak”. Deretter brukes pickle Dump () -funksjonen for å "håndtere" med "lønningene" -ordboken ved å bruke "høyest_protokoll". Dette gjør at ordboken i "lønn" kan lagres i "lønnen.P ”-fil på datamaskinens disk. Nå, for å hente dataene tilbake fra filen, åpnes filen først i "RB" -modus. Deretter brukes pickle Load () -metoden for denne filen. Den tilbakevendte informasjonen lagres i variabelen “A”. Til slutt, gjennom bruk av utskriftskommandoen, vises disse dataene i utgangsenden som avbildet i følgende øyeblikksbilde:
Eksempel 5: Serialisering og deserialisering av data i flere dimensjoner i en pickle -fil ved hjelp av pickle -dump og lastfunksjon
Å lage DataFrames (flerdimensjonale tabeller) i Python er nyttig for å teste nye metoder og funksjoner som finnes i Pandas modul av Python. Det er forskjellige metoder for å bygge en datafram fra bunnen av, men en av de enkleste er å bruke en grunnleggende ordbok.
I koden gitt i forrige illustrasjon importeres de første sylteagurkene og pandasmodulene. Deretter opprettes en flerdimensjonal tabell ved hjelp av PD.DataFrame () -metode. Strategiets neste attributt er en liste over fire lister. Hver liste tilsvarer en rad i tabellen. Den andre parameteren er "kolonner" som definerer overskriften på hver kolonne i tabellen. Denne DataFrame er lagret i “Pre”. Deretter en ny fil som er "oppmøte.P ”åpnes i WB -modus og sylteagurken () metoden brukes på denne filen med DataFrame. Nå lagres våre spesifiserte data i "oppmøtet.P ”-fil på datamaskinens harddisk.
For å hente dataene fra filen, åpner vi filen i RB -modus som tillater lesing av filen. Deretter brukes pickle Load () -metoden i "oppmøtet.P ”-fil. Endelig vises dataene i filen på utgangsterminalen. Som vi kan se, vises hele DataFrame på utgangsterminalen som er lagret i “Oppmøte.P ”-fil.
Konklusjon
Ta ekstra forholdsregler når du jobber med pickle -filer. Pickle -modulen mangler sikkerhet. Bare plikler dataene du er trygg på. Det er mulig å lage ondsinnet sylteagurkedata som kan utføre vilkårlig kode under den upikkende prosessen. Det er likevel en effektiv metode for lagring av ordbøker, lister og tabeller i Python. Pickling er spesielt gunstig i dataanalyse når du utfører rutinemessige operasjoner på dataene som forbehandling. Jeg håper denne artikkelen hjalp deg med å lære om de forskjellige metodene i Pickle -modulen til Python og hvordan du bruker den med ordbøker.