Egyszerű feldolgozás
A fájlkezelés egy fontos része a programozásnak, amely lehetővé teszi számunkra, hogy adatokat olvassunk be és írjunk ki fájlokba. A Pythonban a fájlkezelés egyszerű és könnyen használható. A beépített open()
függvény segítségével megnyithatjuk a fájlokat olvasásra, írásra vagy hozzáfűzésre. A fájl tartalmát soronként vagy egészben beolvashatjuk, és módosíthatjuk is. A példában látható kód bemutatja, hogyan olvashatunk be egy fájlt soronként és használhatjuk annak adatait.
Tegyük fel, hogy van egy fajl.txt
nevű fájlunk, aminek a tartalma a következő:
első sor
második sor
harmadik sor
Ha futtatjuk ezt a kódot:
with open('fajl.txt', 'r') as f:
for sor in f:
print(sor.strip())
A kimenet a következő lesz:
első sor
második sor
harmadik sor
A kód soronként beolvassa a fájl tartalmát és kiírja a képernyőre. A strip()
metódus eltávolítja az újsor karaktereket a sorok végéről.
Ez a kódrészlet egy fájlt nyit meg olvasásra a with open
utasítással. A with
utasítás biztosítja, hogy a fájl bezáródjon a blokk végén. A fajl.txt
a fájl neve, az 'r'
azt jelenti, hogy olvasásra nyitjuk meg a fájlt, az encoding='utf-8'
pedig azt jelöli, hogy milyen karakterkódolást használunk.
Az első sorban lévő számot beolvassuk az int(f.readline())
utasítással és eltároljuk a szam
változóban. Ezután a for sor in f.read().splitlines():
ciklusban végigmegyünk a listán és minden sort hozzáadunk a lista
listához az Adatok(sor)
utasítással. Ez azt jelenti, hogy minden sort átalakítunk az Adatok
típusú objektummá és hozzáadjuk a lista
listához.
Az Adatok
egy osztály, amit a kódban definiáltunk. Az osztályok olyan sablonok, amelyek alapján objektumokat hozhatunk létre. Az Adatok
osztályban van egy __init__
metódus, ami az osztály konstruktora. Ez a metódus fut le, amikor létrehozunk egy új Adatok
objektumot az Adatok(sor)
utasítással. Az __init__
metódusban beállítjuk az objektum adat
attribútumát a sor
értékére.
Például, ha a fájlban az első sorban az 'alma'
szöveget olvassuk be, akkor létrehozunk egy új Adatok
objektumot az Adatok('alma')
utasítással és az objektum adat
attribútuma 'alma'
lesz.
Itt van egy példa fájl és kód:
fajl.txt:
3
alma
körte
barack
Ha futtatjuk ezt a kódot:
class Adatok:
def __init__(self, adat):
self.adat = adat
lista = []
with open('fajl.txt', 'r', encoding='utf-8') as f:
szam = int(f.readline())
for sor in f.read().splitlines():
lista.append(Adatok(sor))
for elem in lista:
print(elem.adat)
Ez a kód kiírja a következőt:
alma
körte
barack
És a szám változóban tároljuk el a 3-as számot a fájl első sorából.