Python IO -modul

Python IO -modul
Vi kan håndtere filrelaterte inngangs- og utgangsprosesser ved hjelp av Python IO-modulen. Python Standard -biblioteket kommer med denne modulen. Å bruke IO -modulen har fordelen av å la oss forbedre evnen til å tillate skriving til Unicode -dataene på grunn av klasser og metoder som er tilgjengelige.

I Python kan vi bruke IO -modulen for å utføre strøm- og bufferoperasjoner på en rekke måter. I denne artikkelen skal vi forklare de to nyttige vanlige klassene i IO -modulen som er "Bytesio" og "Stringio". Disse kan nås ved hjelp av “IO.Bytesio ”og“ IO.Stringio ”.

Eksempel 1: Bruke Python Bytesio -klassen

Når vi er pålagt å oppbevare dataene i form av byte i bufferen i minnet, gir Python IO-modulen oss en "bytesio" -klasse som lar oss bruke “IO.Bytesio () ”-metode for å betjene dataene som byte.

Vi opprettet følgende prøveprogram for å demonstrere byte -manipulasjonen i bufferen:

“Io.Bytesio () ”-metoden tilhører Pythons modul“ IO ”. For å øve på denne metoden i programmet vårt, må vi introdusere biblioteket som inneholder det. Denne modulen lar oss bruke hovedinngangs-/utgangsoperasjonene i Python. Koden initierer ved å importere det nødvendige Python -biblioteket som er "io" ved å skrive kodelinjen som "importere io".

Etter import av modulen påkaller vi “IO.Bytesio () ”-metode fra“ IO ”-biblioteket. I parentesene til denne metoden bruker vi prefikset "B" som refererer til å passere byte. Dette prefikset "B" betyr at det som er skrevet fremover er lagret som en bytestrøm i bufferen. Så vi gir en byte -streng som “Dette er en bytestrøm. \ ndo du forstår?”Et filobjekt“ bStream ”opprettes for å håndtere denne byte -strømmen og tilordne byte -strømmen som genereres fra“ IO.Bytesio () ”-metode. Nå, for å skrive ut innholdet i bufferen på utgangsvinduet, har vi en metode fra "IO" verktøysettet som "FileObject.getValue () ”. Metoden “print ()” kalles. Denne metoden viser den medfølgende inngangen.

Som en inngang av denne metoden blir "getValue ()" ført med filobjektet som "bStream.getValue () ”. Denne metoden får innholdet oppbevart i bufferen, og "print ()" -funksjonen setter til slutt den resulterende byte -strømmen på displayet. Til slutt, for å lukke bufferen, “FileObject.lukk () ”-metode brukes. Navnet på filobjektet "bStream" med metoden “Close ()” er nevnt. Dette lukker bufferen for eventuelle påfølgende operasjoner og frigjør den fangede lagringen for bufferen.

Det genererte utfallet viser oss en bytestrøm som er utstilt på terminalen som blir hentet fra bufferen.

Eksempel 2: Bruke Python Stringio -klassen

Den andre viktigste Python IO -modulen er "Stringio". Dette ligner på "Bytesio" med unntak av at den utfører inngangs-/utgangsoperasjonene på strengdata i stedet for byte -data. Noen ganger er det nødvendig å lese eller generere dataene i minnet i stedet for i de faktiske filene som operativsystemet kan få tilgang til. Python Stringio -klassen er nyttig i dette tilfellet.

Vi kan utøve de forskjellige filrelaterte operasjonene på denne modulen. Den første praksisen er å opprette et filobjekt og deretter utføre filoperasjonene på den. Filobjektet opprettes ved å implementere kodebiten gitt i følgende:

La oss først forstå denne kodeblokken.

Her importerer vi “IO” -modulen til programmet slik at vi kunne få tilgang til noen av metodene som den inneholder. I neste linje i programmet erklærer vi en strengvariabel "NewString" som initialiseres av strengen, "Vi lærer å bruke Stringio -modulen i Python.”Nå lager vi et“ Stringio ”-objekt ved å passere det strengen som tidligere er opprettet. Siden denne modulen tilhører “IO” verktøysettet, må vi nevne det før Stringio -objektet som “IO.Stringio () ”.Innenfor parentesene blir strengen som vi opprettet bestått. Hvis vi ikke gir en streng til denne "Stringio", vil den begynne å tom. Et filobjekt “file_obj” opprettes for å holde utfallsstrengdataene fra “Stringio” og kan behandles akkurat som en fil. Filrelaterte operasjoner kan brukes på dette filobjektet nå.

Den første filoperasjonen som vi vil gjøre her er å lese innholdet som opprinnelig er til stede i den genererte objektfilen. Den foregående delen av koden er skrevet for å oppnå dette.

For å tolke dataene som filen bærer, må vi lese den. “FileObject.Les () ”-metode gjør at vi kan lese innholdet i filen. Siden vi kan behandle Stringio -objektet på samme måte som en fil, kan vi bruke "Read ()" -metoden til filen på den. Dermed påkaller vi “FileObject.Les () ”-metode. Filobjektnavnet er “File_obj” som vi spesifiserer med “Read ()” -metoden. De hentede dataene skal oppbevares i variabel "x". Til slutt, for å se filens leste innhold på terminalen, sendes variabelen "x" til "print ()" -funksjonen. "Print ()" -metoden setter utgangen på visningen som er lagret i den medfølgende inngangsvariabelen.

Filens innhold vises på skjermen som vist i forrige øyeblikksbilde som vi opprinnelig satte inn mens vi opprettet objektfilen.

På samme måte kan vi skrive en ny streng til dette filobjektet. For å skrive på filen, må vi bruke metodefilen "Skriv ()" og skrive ønsket streng med det eksisterende filinnholdet. Følgende kode hjelper til med å forstå utførelsen:

I denne kodeblokken “FileObject Python.skriv () ”-metoden brukes til å skrive en streng på filen. Filobjektnavnet “File_obj” er utstyrt med “Writ ()” -metoden, og ønsket streng settes inn i dens funksjonstiver. Strengen som vi legger til er “Dette er nye strengdata.”Filens oppdaterte innhold kan bare vises når vi leser filen. Men før du leser inn alt innholdet i filobjektet, må markøren flyttes til 0th indeksposisjon slik at den også kan lese de tidligere dataene med den nye skriftlige strengen.

For å endre markørposisjonen, blir metoden “Seek ()” påkalt med “0” som argumentverdi. Denne “0” betyr at markøren begynner å lese fra det første punktet. Vi gjennomgår nå filens innhold ved hjelp av Python -filen, "Read ()" -metoden. Navnet på filobjektet som "file_obj" leveres med "Read ()" -metoden til det oppdaterte innholdet som er lagret i dette filobjektet. For å holde hentede data genereres en variabel "y". Etter hvert, for å sette dette innholdet på terminalen, kommer "Print ()" -funksjonen i praksis her. Denne metoden har to innganger som skal behandles - en uttalelse som "det nye innholdet er:" og deretter variabelen "y" for å lese innholdet i utgangsvinduet.

Utførelsen av programmet produserte de resulterende dataene på skjermen. Her kan vi se at den nye strengen som vi skrev, er vedlagt med det eksisterende innholdet.

Konklusjon

Python IO -modulen gir oss muligheten til å utføre inngangs-/utgangsoperasjonene på oppgitt data. Denne artikkelen diskuterte de to hovedklassene i IO -modulen - Bytesio og Stringio. For begge modulene blir klassene utdypet med praktiske Python -koder som er implementert i Spyder -verktøyet. Den første demonstrasjonen utførte "Bytesio" -klassen, deretter den andre illustrasjonen arbeidet med de forskjellige metodene som kan utføres ved hjelp av "Stringio" -klassen.