Python readline() Módszer példákkal

⚡ Okos összefoglaló

Python A readline metódus egyszerre csak egy sort olvas be egy fájlból. Lessons borító szintaxis, opcionális méret argumentum, looping sorokon, teljesítményen, valamint összehasonlításon keresztül readline-okkal és iterációval.

  • 📄 Olvass el egy sort: A file.readline() függvény visszaadja a következő sort, beleértve a sortörés karaktert is a végén.
  • 📏 Méret argumentum: Adjon meg egy bájtkorlátot a readline függvénynek, hogy korlátozza a sor visszaadásának mértékét.
  • 🔁 Ciklusfájlok: Kombináld a readline-t while ciklusokkal, vagy iteráld a file objektumot a memóriabarát olvasás érdekében.
  • ???? readline vs readlines: A readline egy sort olvas be; a readlines minden sort egyszerre tölt be egy listába.
  • Memória tipp: Nagy fájlok esetén soronként ismételd meg a folyamatot ahelyett, hogy a teljes fájlt betöltenéd a memóriába.
  • 🤖 MI segítők: A mesterséges intelligencia asszisztensek olvasási mintákat generálnak, kontextuskezelőket javasolnak, és gyorsan refaktorálják az I/O kódot.

Python readline metódus

Mi a Python readline?

Python readline () egy fájlmetódus, amely segít egy teljes sort kiolvasni az adott fájlból. A visszaadott karakterlánc végén van egy záró újsor („\n”).

Használhatja a méret paramétert is a vonal adott hosszának meghatározásához. A méret paraméter nem kötelező, és alapértelmezés szerint a teljes sor visszaadásra kerül.

A readline() folyamata jól érthető az alábbi képernyőképen:

Van egy demo.txt fájlja, és a readline() használatakor a demo.txt fájl legelső sorát adja vissza.


Python sort olvasni
Hogyan működik a readline

Jellemző Python readline ()

Itt vannak a fontos jellemzők Python olvasd el a sort:

  • Python A readline() metódus csak egy teljes sort olvas be a megadott fájlból.
  • Újsort ("\n") fűz hozzá a sor végéhez.
  • Ha normál olvasási módban nyitja meg a fájlt, a readline() visszaadja a karakterláncot.
  • Ha bináris módban nyitja meg a fájlt, a readline() visszaadja a bináris objektumot.
  • A readline() argumentumként megadhatja a méretet, és az új sorral együtt megadott méret szerint kapja meg a sort. Alapértelmezés szerint a méret 0, és a teljes sort adja vissza.

Szintaxis

file.readline(size)

paraméterek

méret: (opcionális) Itt adhatja meg a számot, egy egész értéket a readline()-hez. Ekkora húrt kap. Alapértelmezés szerint a méret értéke -1, így a teljes karakterláncot a rendszer visszaadja.

ReturnValue

A readline() metódus a megadott fájl sort adja vissza.

Példa: Az első sor beolvasása a readline()

Itt megtudhatja, hogyan kell kiolvasni a sort a readline() metódussal megadott fájlból. A tartalom elolvasásához a demo.txt fájlt fogjuk használni.

A demo.txt fájl tartalma a következő:

demo.txt

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

A következő lépések a demo.txt fájl egy sorának beolvasásához szükségesek.

Step 1) Először nyissa meg a fájlt a file open() metódussal, az alábbiak szerint:

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

Az open() metódus az első paramétert veszi a fájl nevének, a második paraméter pedig a megnyitni kívánt mód. Jelenleg az „r”-t használtuk, ami azt jelenti, hogy a fájl olvasási módban nyílik meg.

Step 2) A readline() metódus segítségével olvassa be a sort a demo.txt fájlból az alábbiak szerint:

myline = myfile.readline()

Step 3) A beolvasott sort a myline belül tárolja. Nyomtassuk ki a sort a részletek megtekintéséhez:

print(myline)

Step 4) Az olvasás befejezése után zárja be a fájlt a close() metódussal az alábbiak szerint:

myfile.close()

A teljes kód a következő:

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

output:

Testing - FirstLine

Példa: size argumentum használata a readline()

Láttuk, hogyan kell kiolvasni a teljes sort a megadott fájlból. Használhatja a méret paramétert is, hogy csak a szükséges hosszúságú vonalat kapja meg.

Az adott példában a méret paraméter 10. Az első sort lekéri, és visszaadja a 0 és 10 közötti karaktereket tartalmazó sort.

A korábban használt demo.txt fájlt fogjuk használni. Mentse el a demo.txt fájlt, és használja a demo.txt fájl helyét az open() függvényen belül.

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

output:

Testing -

Alap fájl IO be Python

Az alapfájl IO be Python egy fájl megnyitása olvasásra vagy írásra a beépített open() függvény. Az open() függvényben szereplő két fontos argumentum a fájl elérési útja, amely egy karakterlánc, és a mód, amely meghatározza, hogy a fájlt olvasásra vagy írásra szánják. A mode argumentum egy karakterlánc.

Syntax:

open("file path", "mode")

A következő módok állnak rendelkezésre, amelyek az open() metódussal használhatók:

Mód Leírás
R Ez megnyitja () a fájlt olvasási módban.
W A w használatával írhat a fájlba.
a Az a és az open() használata a fájlt írási módban nyitja meg, és a tartalom hozzáfűződik a végéhez.
rb Az rb mód megnyitja a fájlt bináris adatok olvasásához.
wb A wb mód megnyitja a fájlt bináris adatok írásához.

Mivel az olvasáshoz szükségünk van a fájlra, az olvasási módot, azaz (r) fogjuk használni.

Olvasson be egy fájlt soronként Python

A readline() metódus egyszerre csak egy sor beolvasását segíti, és a megadott fájl első sorát adja vissza.

Itt a readline()-t használjuk a megadott fájl összes sorának beolvasására. A beolvasott fájl a demo.txt. A fájl tartalma a következő:

Mentse el a demo.txt fájlt, és használja a demo.txt fájl helyét az open() függvényen belül.

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

A readline() használata a while-loopban gondoskodik a demo.txt fájl összes sorának beolvasásáról.

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

output:

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

Hogyan lehet egy fájl összes sorát egyszerre olvasni?

Egy adott fájl összes sorának olvasásához használhatja a Python readlines() függvény. A specialitása Python A readlines() függvény az adott fájl teljes tartalmát beolvassa és a kimenetet egy listába menti.

A readlines() függvény a fájl végéig olvas, belsőleg használja a readline() függvényt, és egy listát ad vissza a fájlból kiolvasott összes sorral.

Íme egy működő példa a fájl összes sorának olvasására a readlines() segítségével.

A fájl, amelyet az olvasáshoz használni fogunk, a test.txt. A test.txt fájl tartalma a következő:

test.txt: Mentse el a teszt.txt fájlt, és használja a teszt.txt fájl helyét az open() függvényen belül.

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

output:

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

Hogyan lehet soronként olvasni egy fájlt a for ciklus használatával?

A következő lépések a for-loop használatával soronkénti olvasáshoz szükségesek egy adott fájlból:

Step 1) Először nyissa meg a fájlt a segítségével Python open() függvény olvasási módban.

Step 2) Az open() függvény egy fájlkezelőt ad vissza. Használja a for cikluson belüli fájlkezelőt, és soronként olvassa el az adott fájl összes sorát.

Step 3) Ha kész, zárja be a fájlkezelőt a close() függvény segítségével.

Íme egy működő példa a for ciklus használatára egy adott fájl soronkénti olvasására. Az itt használni kívánt fájl a test.txt.

A test.txt tartalma az alábbiak szerint alakul. Mentse el a test.txt fájlt, és használja a test.txt fájl helyét egy open() függvényen belül.

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

output:

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

Hogyan lehet egy fájlt soronként olvasni a while ciklus használatával?

Használhatja a while ciklust, és soronként kiolvassa az adott fájl tartalmát. Ehhez először nyissa meg a fájlt olvasási módban az open() függvény segítségével. A fájlkezelő az open() függvényből tért vissza, használja belül míg –hurok olvasni a sorokat.

Python A readline() függvény a while cikluson belül használható a sorok olvasására. For-loop esetén a ciklus akkor ér véget, amikor a fájl végét találjuk. De nem ez a helyzet a while ciklus esetében, és folyamatosan ellenőriznie kell, hogy a fájl beolvasása befejeződött-e. Tehát miután a readline() függvény egy üres karakterláncot ad vissza, használhatja a break utasítást a while – ciklus befejezéséhez.

Íme egy működő példa egy fájl soronkénti olvasására a while ciklus használatával.

A használni kívánt fájl a test.txt. Mentse el a test.txt fájlt, és használja a test.txt fájl helyét az open() függvényen belül.

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

output:

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

GYIK

Üres karakterláncot ad vissza.ping A while line := f.readline() utasítással az olvasás leáll, amikor az üres karakterláncot adja vissza, jelezve a fájl végét.

Igen. Az olyan mesterséges intelligencia asszisztensek, mint a Copilot, utasításokkal javasolnak, felcserélik az olvasási sorokat iterációhoz, és felismerik a lezáratlan fájlokat. Elmagyarázzák a kódolási problémákat, és aszinkron I/O-t javasolnak nagy fájlok esetén.

A mesterséges intelligencia eszközei értelmezik a FileNotFoundError, a PermissionError és az UnicodeDecodeError hibákat, majd javításokat javasolnak, például explicit kódolásokat, abszolút elérési utakat vagy kontextuskezelőket.

A readline egyszerre egy sort olvas be, és egy karakterláncot ad vissza. A readlines egyszerre olvassa be az összes sort, és egy karakterláncok listáját adja vissza, ami nagy fájlok esetén több memóriát használ.

Korlátozza a sorból beolvasható bájtok számát. A függvény továbbra is megáll egy új sor karakternél, ha ilyet talál a bájtkorlát elérése előtt.

Használja a fájlban lévő sorok helyett: a readlines helyett. Python lustán streameli a fájlt, keeping alacsony memóriahasználat még több gigabájtos naplófájlok esetén is.

Igen. A with utasítás garantálja a fájl bezárását kivétel esetén is, megakadályozva az erőforrás-szivárgást és az írási műveletek sérülését.

Add át a kódolási argumentumot: open('file.txt', encoding='utf-8′). Enélkül, Python a platform alapértelmezett beállítását használja, ami UnicodeDecodeError hibát okoz nem ASCII tartalmak esetén.

Foglald össze ezt a bejegyzést a következőképpen: