Python -filsøk

Python -filsøk
Python har flere teknikker for å håndtere filer. Det er metoder for å manipulere filpekeren effektivt og grunnleggende operasjoner som å lese og skrive til filer. Du lærer hvordan du bruker Seek () -metoden for å flytte filpekeren mens du leser eller skriver en fil i denne artikkelen.

Seek () -funksjonen angir en filpekerens posisjon, mens Tell () -funksjonen returnerer filpekerens nåværende posisjon. Pythons Seek () -funksjon endrer filens nåværende plassering til forskyvningen. Hvorfra er en valgfri parameter som er standard til 0 for umiddelbar filplassering; Andre verdier er 1 for søk i forhold til det nåværende stedet og 2 for å søke i forhold til slutten av filen. Det er ingen verdi returnert. Eventuelle søk () handlinger vil bli slettet ved neste skriving hvis filen åpnes for å legge til med 'A' eller 'A+.'Denne metoden er ikke til bruk hvis filen nettopp åpnes for skriving og er i vedleggsmodus med' A ', men den er nyttig for filer som er åpnet i vedleggsmodus med Read Aktivert. Bare forskyvninger som returneres av Tell () er lovlig når filen åpnes i tekstmodus med 'T.'Bruken av forskjellige forskyvninger resulterer i uforutsigbar atferd. Det er viktig å huske på at ikke alle filobjekter kan søkes.

Hensikten med denne artikkelen er å lære deg hvordan du bruker Seek () -metoden for å avansere eller bakover filmarkøren fra sin nåværende posisjon. Lær hvordan du kan flytte filpekeren til filens begynnelse eller slutt. Lær hvordan du bestemmer gjeldende plassering av "FileHandle" ved å flytte filpekeren bakover fra slutten av filen. Så la oss begynne opplæringen.

Eksempel 1:

Tenk på følgende scenario, der vi leser innholdet i en tekstfil med en forskyvning på 5. Dette indikerer at vi vil begynne å lese filen med det 5. karakter.

Her har vi åpnet filen ved å gi den nøyaktige veien for den. Etter det leste vi innholdet fra det femte tegnet ved hjelp av Seek -metoden.

Med Open (R'D:/Brukere/Demoer/Demo.txt ', "r") som fp:
fp.Søk (5)
Trykk (FP.lese())

De første fem tegnene mangler i utdataene, som du kan se.

Eksempel 2:

Vi ser etter begynnelsen av filen i dette tilfellet. Ved å stille inn parameteren til 0, kan vi bruke Seek () -metoden for å flytte filreferansen til begynnelsen av filen. 0 betegner begynnelsen av filen, som er den første byten. La oss se på hvordan du får filmarkøren til begynnelsen av filen. Her skriver vi til en tekstfil i eksemplet. Vi ønsket å flytte markøren til begynnelsen av filen etter å ha lagt inn innhold for å lese hele filen.

Med Open (R'D:/Brukere/Demoer/Demo.txt ', "w+") som fp:
fp.Skriv ('Eksempel på innholdslinje 1 \ n')
fp.Skriv ('Eksempel på innholdslinje 2')
fp.Søk (0)
Trykk (FP.lese())

Teksten er skrevet.

Nedenfor er den oppdaterte teksten etter vellykket utførelse av koden.

Eksempel 3:

I dette eksemplet vil vi søke fra slutten av filen. I dette tilfellet begynner vi å søke på slutten av filen. Vi setter hvorav 2 og forskjøvet til 0 for å flytte filpekeren til slutten av filen. De tre operasjonene som er oppført nedenfor vil bli utført i eksemplet nedenfor. Vi legger til ekstra innhold og flytter filpekeren til filens slutt. Filreferansen blir deretter flyttet til begynnelsen av filen, og ny informasjon vil bli lagt til der. Vi returnerer filens peker til begynnelsen og fortsetter med skriveoperasjonen. La oss se på hvordan du kan flytte filmarkøren til filens slutt. Vi bruker en eksisterende fil for denne prosessen og åpner en ny fil i lese-/skrivemodus.

Med Open (R'D:/Brukere/Demoer/Demo.txt ', "w+") som fp:
fp.Skriv ('Eksempel på innholdslinje 1 \ n')
fp.Skriv ('Eksempel på innholdslinje 2')
fp.Søk (0)
Trykk (FP.lese())

Innholdet legges til på slutten av linjen.

Demoen.TXT -filen er også oppdatert.

Eksempel 4:

Endelig ser vi på dagens situasjon. Vi kan flytte filpekeren noen få posisjoner foran gjeldende posisjon ved å stille inn fra 1 og oppveie antallet stillingen vi ønsker å endre. Hvis den gjeldende filpekeren er på 20. plassering og du vil hoppe til det 75. tegnet, kan du sette forskyvning til 50 og hvorfra til 1. Vi bruker en eksisterende fil og åpner en ny fil i lese-/skrivemodus for denne prosessen. Tenk på koden nedenfor, som leser tre byte og konverterer dem til byte. Varen ble deretter avansert 10 poeng fra sin eksisterende posisjon. Vi har lest tre byte de siste.

Med Open (R'D:/Brukere/Demoer/Demo.txt ', "RB") som FP:
fp.Søk (2)
Trykk (FP.Les (3).Dekode ("UTF-8"))
fp.Søk (5, 1)
Trykk (FP.Les (3).Dekode ("UTF-8"))

Den resulterende skjermen for koden ovenfor er som følger.

Konklusjon:

I denne artikkelen lærte vi hvordan vi kan bla gjennom forskjellige deler eller deler av en fil ved hjelp av filhåndtaket. Vi viste deg hvordan du kan endre FileHandle -posisjonen med Seek () -metoden for å legge til nytt innhold eller lese visse filseksjoner.