Python readline() Metod med exempel

⚡ Smart sammanfattning

Python readline-metoden läser en enda rad åt gången från en fil. Lessons cover syntax, valfritt storleksargument, looping genom rader, prestanda och jämförelse med läslinjer och iteration.

  • 📄 Läs en rad: file.readline() returnerar nästa rad inklusive nyradstecknet i slutet.
  • 📏 Storleksargument: Ange en bytegräns till readline för att begränsa hur mycket av raden som returneras.
  • 🔁 Loopfiler: Kombinera readline med while-loopar, eller iterera filobjektet för minnesvänliga läsningar.
  • 📚 läslinje vs läslinjer: readline läser en rad; readlines laddar varje rad i en lista samtidigt.
  • ⚡ Minnetips: För stora filer, iterera rad för rad istället för att ladda hela filen i minnet.
  • 🤖 AI-hjälpare: AI-assistenter genererar läslinjemönster, föreslår kontexthanterare och omfaktorerar I/O-kod snabbt.

Python readline-metoden

Vad är Python läslinje?

Python readline() är en filmetod som hjälper till att läsa en hel rad från den givna filen. Den har en efterföljande nyrad ("\n") i slutet av strängen som returneras.

Du kan också använda storleksparametern för att få en specifik längd på linjen. Storleksparametern är valfri och som standard kommer hela raden att returneras.

Flödet av readline() är väl förstått i skärmdumpen som visas nedan:

Du har en fil demo.txt, och när readline() används returnerar den den allra första raden från demo.txt.


Python readline
Hur readline fungerar

Kännetecknande för Python readline()

Här är viktiga egenskaper hos Python läs rad:

  • Python metoden readline() läser endast en hel rad från den angivna filen.
  • Den lägger till en ny rad ("\n") i slutet av raden.
  • Om du öppnar filen i normalt läsläge kommer readline() att returnera strängen till dig.
  • Om du öppnar filen i binärt läge kommer readline() att returnera ditt binära objekt.
  • Du kan ge storlek som ett argument till readline(), och det kommer att ge dig raden enligt den angivna storleken inklusive den nya raden. Som standard är storleken 0, och det returnerar hela raden.

syntax

file.readline(size)

Driftparametrar

Storlek: (valfritt) Här kan du ange numret, ett heltalsvärde till readline(). Den kommer att få strängen av den storleken. Som standard är värdet för storlek -1, och därför returneras hela strängen.

Returvärde

Metoden readline() returnerar raden från den angivna filen.

Exempel: För att läsa den första raden med readline()

Här kommer att förstå hur man läser raden från filen som ges med hjälp av metoden readline(). Vi kommer att använda demo.txt-filen här för att läsa innehållet.

Filinnehållet i demo.txt är följande:

demo.txt

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

Följande är stegen för att läsa en rad från filen demo.txt.

Steg 1) Öppna först filen med metoden file open() som visas nedan:

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

Open()-metoden tar den första parametern som namnet på filen, och den andra parametern är läget när du vill öppna. Just nu har vi använt "r", vilket betyder att filen öppnas i läsläge.

Steg 2) Använd metoden readline() för att läsa raden från filen demo.txt som visas nedan:

myline = myfile.readline()

Steg 3) Den lästa raden lagras i myline. Låt oss nu skriva ut raden för att se detaljerna:

print(myline)

Steg 4) När läsningen är klar, stäng filen med metoden close() som visas nedan:

myfile.close()

Hela koden är som följer:

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

Produktion:

Testing - FirstLine

Exempel: Använda storleksargument i readline()

Vi har sett hur man läser hela raden från den angivna filen. Du kan också använda storleksparametern för att bara få önskad längd på linjen.

Det givna exemplet har storleksparametern angiven som 10. Den första raden kommer att hämtas, och den returnerar raden med tecken från 0 till 10.

Vi kommer att använda demo.txt-filen som användes tidigare. Spara filen demo.txt och använd platsen för demo.txt i open()-funktionen.

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

Produktion:

Testing -

Grundläggande fil IO in Python

Grundfilen IO in Python att öppna en fil för att läsa eller skriva är den inbyggda open()-funktionen. De två viktiga argumenten som går i funktionen open() är filsökvägen, som är en sträng, och läget som anger om filen är avsedd för läsning eller skrivning. Modeargumentet är en sträng.

Syntax:

open("file path", "mode")

Följande är tillgängliga lägen som kan användas med metoden open():

Mode BESKRIVNING
R Detta kommer att öppna() filen i läsläge.
W Med w kan du skriva till filen.
a Om du använder a med open() öppnas filen i skrivläge, och innehållet kommer att läggas till i slutet.
rb rb-läget öppnar filen för binär dataläsning.
wb Wb-läget öppnar filen för att skriva binär data.

Eftersom vi behöver filen för läsning, kommer vi att använda oss av läsläge, dvs (r).

Läs en fil rad för rad in Python

Readline()-metoden hjälper till att läsa bara en rad i taget, och den returnerar den första raden från den angivna filen.

Här kommer vi att använda readline() för att läsa alla rader från den angivna filen. Filen som kommer att läsa är demo.txt. Innehållet i filen är:

Spara filen demo.txt och använd platsen för demo.txt i open()-funktionen.

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

Att använda readline() inuti while-loop kommer att ta hand om att läsa alla rader som finns i filen demo.txt.

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

Produktion:

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

Hur läser man alla rader i en fil på en gång?

För att läsa alla rader från en given fil kan du använda dig av Python readlines() funktion. Specialiteten av Python readlines()-funktionen är att läsa allt innehåll från den givna filen och spara utdata i en lista.

Readlines()-funktionen läser till slutet av filen och använder sig av readline()-funktionen internt och returnerar en lista med alla rader som läses från filen.

Här är ett fungerande exempel för att läsa alla rader från filen med readlines().

Filen som vi kommer att använda för att läsa är test.txt. Innehållet i filen test.txt är följande:

test.txt: Spara filen test.txt och använd platsen för test.txt i open()-funktionen.

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()

Produktion:

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

Hur läser man en fil rad för rad med hjälp av for loop?

Följande är stegen för att läsa en rad för rad från en given fil med hjälp av for-loop:

Steg 1) Öppna först filen med Python open() funktion i läsläge.

Steg 2) Open()-funktionen returnerar en filhanterare. Använd filhanteraren i din for-loop och läs alla rader från den givna filen rad för rad.

Steg 3) När du är klar, stäng filhanteraren med close()-funktionen.

Här är ett fungerande exempel på att använda for-loop för att läsa rad för rad från en given fil. Filen som vi ska använda här är test.txt.

Innehållet i test.txt är som visas nedan. Spara filen test.txt och använd platsen för test.txt i en open()-funktion.

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()   

Produktion:

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

Hur läser man en fil rad för rad med en while-loop?

Du kan använda en while-loop och läsa innehållet från den givna filen rad för rad. För att göra det, öppna först filen i läsläge med funktionen open(). Filhanteraren returnerade från open(), använd den inuti medan –loop att läsa raderna.

Python readline()-funktionen används inuti while-loop för att läsa raderna. I fallet med for-loop, avslutas loopen när slutet av filen påträffas. Men detsamma är inte fallet med en while-loop, och du måste hålla en koll för att se om filen är klar. Så när readline()-funktionen returnerar en tom sträng, kan du använda break-satsen för att avsluta från while –loop.

Här är ett fungerande exempel för att läsa en fil rad för rad med hjälp av en while-loop.

Filen som vi kommer att använda är test.txt. Spara filen test.txt och använd platsen för test.txt i funktionen open().

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() 

Produktion:

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

Vanliga frågor

Den returnerar en tom sträng.ping med while line := f.readline() stoppas felfritt när read returnerar den tomma strängen, vilket signalerar slutet på filen.

Ja. AI-assistenter som Copilot föreslår med satser, byter läslinjer för iteration och upptäcker oavslutade filer. De förklarar kodningsproblem och föreslår asynkron I/O för stora filer.

AI-verktyg tolkar FileNotFoundError, PermissionError och UnicodeDecodeError och föreslår sedan korrigeringar som explicita kodningar, absoluta sökvägar eller kontexthanterare.

readline läser en rad i taget och returnerar en sträng. readlines läser varje rad samtidigt och returnerar en lista med strängar, vilket använder mer minne på stora filer.

Den begränsar antalet byte som läses från raden. Funktionen stannar fortfarande vid en nyrad om en sådan påträffas innan bytegränsen nås.

Använd för rad i fil: istället för läsrader. Python streamar filen lojt, keeping låg minnesanvändning även för loggfiler på flera gigabyte.

Ja. with-satsen garanterar att filen stängs även om ett undantag inträffar, vilket förhindrar resursläckor och korruption av skrivoperationer.

Skicka kodningsargumentet: open('file.txt', encoding='utf-8′). Utan det, Python använder plattformens standardvärde, vilket orsakar UnicodeDecodeError på innehåll som inte är ASCII.

Sammanfatta detta inlägg med: