Fájlok megnyitása
Tanuld meg, hogyan nyithatsz meg fájlokat Pythonban biztonságosan.
Az open() függvény
A Pythonban fájlokat az
open() beépített függvénnyel nyitunk meg. Visszaad egy fájlobjektumot, amelyen keresztül olvashatjuk vagy írhatjuk a tartalmat. Két paramétert kap: a fájlnevet és a megnyitási módot.szintaxis
fajl = open("fajlnev.txt", "mod") # ajánlott mód: with blokk (automatikus lezárás) with open("fajlnev.txt", "r") as f: tartalom = f.read()
A with blokk előnyei
A
with kulcsszóval megnyitott fájl automatikusan bezáródik a blokk végén — még hiba esetén is. Ez biztonságosabb, mint a manuális f.close() hívás.❌ Régi módszer
f = open("adat.txt")
tartalom = f.read()
f.close() # elfelejthetjük!
✅ Ajánlott módszer
with open("adat.txt") as f:
tartalom = f.read()
# automatikusan lezárva
Kódolás megadása
Magyar ékezetes karakterekhez (á, é, ő, ű stb.) érdemes az
encoding="utf-8" paramétert megadni, különben hibás karaktereket kaphatunk.encoding
with open("magyar.txt", "r", encoding="utf-8") as f: szoveg = f.read() print(szoveg)
Megnyitási módok
Kattints egy módra a részletes leírásért!
Módok áttekintése
Az
open() második paramétere határozza meg, mit csinálunk a fájllal.Módok összefoglalása
Gyors áttekintés — mikor melyiket használd?
módok táblázata
# "r" → olvasás (fájl léteznie kell) # "w" → írás (felülírja a tartalmat!) # "a" → hozzáfűzés (meglévő tartalom megmarad) # "r+" → olvasás+írás (fájl léteznie kell) # "x" → létrehozás (hibát dob, ha már létezik) # "rb" → bináris olvasás (képek, PDF) # "wb" → bináris írás
Mini kvíz
Melyik móddal nyitjuk meg a fájlt, ha az elejétől akarunk írni, de nem akarjuk törölni a tartalmát?
Fájlok olvasása
Három metódus + a for ciklus — mindegyiknek megvan a maga helye.
Szimulált fájl tartalom
naplo.txt
Első sor: reggeli feladatok
Második sor: déli tervek
Harmadik sor: esti teendők
Negyedik sor: holnapi program
Ezt a fájlt fogjuk olvasni az alábbi példákban. Válts a metódusok között!
Olvasási metódusok
Mini kvíz
Melyik metódus adja vissza a fájl összes sorát egy listaként?
Fájlba írás
Tartalom mentése, felülírás, hozzáfűzés — és a fájl módosítása.
Írási metódusok
Fájl állapota a kód futtatása után:
kimenet.txt
— kattints a „Kód futtatása" gombra —
Mini kvíz
Mi történik, ha "w" módban nyitunk meg egy már létező fájlt?
Összefoglalás
Minden amit tanultál — egy helyen.
📂
Megnyitás
open() — mindig with blokkal, és add meg az encoding="utf-8"-t!📖
Olvasás
read() egészben, readline() soronként, readlines() listában, for nagy fájlokhoz✏️
Írás
"w" felülír, "a" hozzáfűz, "r+" olvas és ír helyben⚠️
Hibakezelés
try/except blokkal kezeld a FileNotFoundError és PermissionError eseteketTeljes példaprogram
Létrehozás, feltöltés, hozzáfűzés, majd olvasás — minden egy helyen:
teljes példa
# 1. Fájl létrehozása és feltöltése sorok = ["alma\n", "körte\n", "szilva\n"] with open("gyumolcsok.txt", "w", encoding="utf-8") as f: f.writelines(sorok) # 2. Hozzáfűzés with open("gyumolcsok.txt", "a", encoding="utf-8") as f: f.write("barack\n") # 3. Olvasás és sorok kiírása with open("gyumolcsok.txt", "r", encoding="utf-8") as f: for sor in f: print(sor.strip())
alma
körte
szilva
barack
Hibakezelés
Érdemes mindig kezelni a lehetséges fájlhibákat, különösen ha a fájl neve a felhasználótól érkezik.
try/except
try: with open("nem_letezo.txt", "r", encoding="utf-8") as f: print(f.read()) except FileNotFoundError: print("A fájl nem található!") except PermissionError: print("Nincs hozzáférési jogod a fájlhoz!") except UnicodeDecodeError: print("Kódolási hiba — próbálj más encoding-ot!")
Gratulálok! Elvégezted a Python állománykezelés tananyagot. 🎉