Python readline() Metode med eksempler

⚡ Smart oppsummering

Python readline-metoden leser én linje fra en fil om gangen. Lessons cover-syntaks, valgfritt størrelsesargument, looping gjennom linjer, ytelse og sammenligning med leselinjer og iterasjon.

  • 📄 Les én linje: file.readline() returnerer neste linje inkludert linjeskifttegnet på slutten.
  • 📏 Størrelsesargument: Sett en bytegrense til leselinjen for å begrense hvor mye av linjen som returneres.
  • 🔁 Loop-filer: Kombiner readline med while-løkker, eller iterer filobjektet for minnevennlige lesninger.
  • 📚 leselinje vs. leselinjer: readline leser én linje; readlines laster inn hver linje i en liste samtidig.
  • ⚡ Minnetips: For store filer, iterer linje for linje i stedet for å laste inn hele filen i minnet.
  • 🤖 AI-hjelpere: AI-assistenter genererer leselinjemønstre, foreslår kontekstbehandlere og refaktorerer I/O-kode raskt.

Python readline-metoden

Hva er Python leselinje?

Python leselinje() er en filmetode som hjelper deg med å lese en hel linje fra den gitte filen. Den har en etterfølgende nylinje ("\n") på slutten av strengen som returneres.

Du kan også bruke størrelsesparameteren for å få en bestemt lengde på linjen. Størrelsesparameteren er valgfri, og som standard vil hele linjen bli returnert.

Flyten av readline() er godt forstått i skjermbildet vist nedenfor:

Du har en fil demo.txt, og når readline() brukes, returnerer den den aller første linjen fra demo.txt.


Python readline
Hvordan readline fungerer

Karakteristisk for Python leselinje()

Her er viktige kjennetegn ved Python les linje:

  • Python readline()-metoden leser bare én hel linje fra filen gitt.
  • Den legger til en ny linje ("\n") på slutten av linjen.
  • Hvis du åpner filen i normal lesemodus, vil readline() returnere strengen.
  • Hvis du åpner filen i binær modus, vil readline() returnere ditt binære objekt.
  • Du kan gi størrelse som et argument til readline(), og det vil gi deg linjen i henhold til størrelsen som er gitt inkludert den nye linjen. Som standard er størrelsen 0, og den returnerer hele linjen.

syntax

file.readline(size)

Parametre

størrelse: (valgfritt) Her kan du spesifisere tallet, en heltallsverdi til readline(). Den får strengen i den størrelsen. Som standard er verdien for størrelse -1, og derfor returneres hele strengen.

Returverdi

Readline()-metoden returnerer linjen fra filen gitt.

Eksempel: For å lese den første linjen ved å bruke readline()

Her vil du forstå hvordan du leser linjen fra filen gitt ved å bruke readline()-metoden. Vi kommer til å bruke demo.txt-filen her for å lese innholdet.

Filinnholdet i demo.txt er som følger:

demo.txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Følgende er trinnene for å lese en linje fra filen demo.txt.

Trinn 1) Først åpner du filen ved å bruke file open()-metoden, som vist nedenfor:

myfile = open("demo.txt", "r")

Open()-metoden tar den første parameteren som navnet på filen, og den andre parameteren er modusen mens du vil åpne. Akkurat nå har vi brukt "r", som betyr at filen åpnes i lesemodus.

Trinn 2) Bruk readline()-metoden for å lese linjen fra filen demo.txt som vist nedenfor:

myline = myfile.readline()

Trinn 3) Linjen som er lest lagres i myline. La oss nå skrive ut linjen for å se detaljene:

print(myline)

Trinn 4) Når lesingen er ferdig, lukk filen ved å bruke close()-metoden som vist nedenfor:

myfile.close()

Hele koden er som følger:

myfile = open("demo.txt", "r")
myline = myfile.readline()
print(myline)
myfile.close()

Utgang:

Testing - FirstLine

Eksempel: Bruke størrelsesargument i readline()

Vi har sett hvordan du leser hele linjen fra filen som er gitt. Du kan også bruke størrelsesparameteren for å få bare den nødvendige lengden på linjen.

Det gitte eksemplet har størrelsesparameteren gitt som 10. Den første linjen vil bli hentet, og den vil returnere linjen med tegn fra 0 til 10.

Vi kommer til å bruke demo.txt-filen som ble brukt tidligere. Lagre filen demo.txt og bruk plasseringen til demo.txt inne i open()-funksjonen.

myfile = open("demo.txt", "r")
myline = myfile.readline(10)
print(myline)
myfile.close()

Utgang:

Testing -

Grunnleggende fil IO inn Python

Grunnfilen IO in Python å åpne en fil for lesing eller skriving er den innebygde open()-funksjonen. De to viktige argumentene som går i open()-funksjonen er filbanen, som er en streng, og modusen som spesifiserer om filen er ment for lesing eller skriving. Modusargumentet er en streng.

Syntaks:

open("file path", "mode")

Følgende er tilgjengelige moduser som kan brukes med open()-metoden:

Mote Tekniske beskrivelser
R Dette vil åpne() filen i lesemodus.
W Ved å bruke w kan du skrive til filen.
a Ved å bruke a med open() åpnes filen i skrivemodus, og innholdet vil bli lagt til på slutten.
rb rb-modusen vil åpne filen for binær datalesing.
wb Wb-modusen vil åpne filen for skriving av binære data.

Siden vi trenger filen for lesing, kommer vi til å bruke lesemodus, dvs. (r).

Les en fil linje for linje inn Python

Readline()-metoden hjelper til med å lese bare én linje om gangen, og den returnerer den første linjen fra filen som er gitt.

Her vil vi bruke readline() for å lese alle linjene fra filen som er gitt. Filen som skal leses er demo.txt. Innholdet i filen er:

Lagre filen demo.txt og bruk plasseringen til demo.txt inne i funksjonen open().

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Bruk av readline() inne i while-loop vil ta seg av å lese alle linjene som finnes i filen demo.txt.

myfile = open("demo.txt", "r")
myline = myfile.readline()
while myline:
    print(myline)
    myline = myfile.readline()
myfile.close()   

Utgang:

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

Hvordan lese alle linjene i en fil samtidig?

For å lese alle linjene fra en gitt fil kan du benytte deg av Python readlines() funksjon. Spesialiteten til Python readlines()-funksjonen er å lese alt innholdet fra den gitte filen og lagre utdataene i en liste.

Readlines()-funksjonen leser til slutten av filen, ved å bruke readline()-funksjonen internt og returnerer en liste med alle linjene som er lest fra filen.

Her er et fungerende eksempel for å lese alle linjene fra filen ved å bruke readlines().

Filen vi skal bruke til å lese er test.txt. Innholdet i filen test.txt er som følger:

test.txt: Lagre filen test.txt og bruk plasseringen til test.txt inne i funksjonen open().

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
mylist = myfile.readlines()
print(mylist)
myfile.close()

Utgang:

['Line No 1\n', 'Line No 2\n', 'Line No 3\n', 'Line No 4\n', 'Line No 5']

Hvordan lese en fil linje for linje ved å bruke for loop?

Følgende er trinnene for å lese en linje for linje fra en gitt fil ved å bruke for-loop:

Trinn 1) Først åpner du filen med Python open() funksjon i lesemodus.

Trinn 2) Open()-funksjonen vil returnere en filbehandler. Bruk filbehandleren inne i for-løkken og les alle linjene fra den gitte filen linje for linje.

Trinn 3) Når du er ferdig, lukk filbehandleren ved å bruke close()-funksjonen.

Her er et fungerende eksempel på bruk av for-loop for å lese linje for linje fra en gitt fil. Filen vi skal bruke her er test.txt.

Innholdet i test.txt er som vist nedenfor. Lagre filen test.txt og bruk plasseringen til test.txt i en open()-funksjon.

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
for line in myfile:
    print(line)
myfile.close()   

Utgang:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

Hvordan lese en fil linje for linje ved hjelp av en while-løkke?

Du kan benytte deg av en while-løkke og lese innholdet fra den gitte filen linje for linje. For å gjøre det, åpne først filen i lesemodus ved å bruke funksjonen åpen(). Filbehandleren returnerte fra open(), bruk den inne mens –løkke å lese linjene.

Python readline()-funksjonen brukes inne i while-loop for å lese linjene. Når det gjelder for-loop, avsluttes løkken når slutten av filen oppdages. Men det samme er ikke tilfellet med en while-løkke, og du må holde en sjekk for å se om filen er ferdig lest. Så når readline()-funksjonen returnerer en tom streng, kan du bruke break-setningen for å avslutte fra while –loop.

Her er et fungerende eksempel for å lese en fil linje for linje ved å bruke en while-løkke.

Filen vi skal bruke er test.txt. Lagre filen test.txt og bruk plasseringen til test.txt inne i open()-funksjonen.

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
while myfile:
    line  = myfile.readline()
    print(line)
    if line == "":
        break
myfile.close() 

Utgang:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

Spørsmål og svar

Den returnerer en tom streng.ping med while line := f.readline() stopper nøyaktig når lesingen returnerer den tomme strengen, noe som signaliserer slutten på filen.

Ja. AI-assistenter som Copilot foreslår med setninger, bytter leselinjer for iterasjon og oppdager ikke-lukkede filer. De forklarer kodingsproblemer og foreslår asynkron I/O for store filer.

AI-verktøy tolker FileNotFoundError, PermissionError og UnicodeDecodeError, og foreslår deretter rettelser som eksplisitte kodinger, absolutte stier eller kontekstbehandlere.

readline leser én linje om gangen og returnerer en streng. readlines leser hver linje samtidig og returnerer en liste med strenger, noe som bruker mer minne på store filer.

Den begrenser antall byte som leses fra linjen. Funksjonen stopper fortsatt ved en ny linje hvis en påtreffes før bytegrensen er nådd.

Brukes for linje i fil: i stedet for leselinjer. Python strømmer filen dovent, keeping lav minnebruk selv for loggfiler på flere gigabyte.

Ja. with-setningen garanterer at filen lukkes selv om et unntak oppstår, noe som forhindrer ressurslekkasjer og korrupsjon av skriveoperasjoner.

Send kodeargumentet: open('file.txt', encoding='utf-8′). Uten det, Python bruker plattformstandarden, som forårsaker UnicodeDecodeError på ikke-ASCII-innhold.

Oppsummer dette innlegget med: