Fájlok olvasása és írása Pythonban

Részletes fejezet a fájlmódokról, az open()-ről, a with open mintáról és a tipikus hibákról.

A fájlkezelés az egyik első igazán gyakorlati Python-készség. Amíg csak változókkal dolgozol, addig a programod futás közben létezik. A fájlkezeléssel viszont az adatok tartósak lesznek: lementhetők, később visszaolvashatók, feldolgozhatók.

Open és módok

A legfontosabb fájlmódok: "r" olvasás, "w" írás, "a" hozzáfűzés.

with open("adatok.txt", "r", encoding="utf-8") as file:
    content = file.read()

Olvasás

with open("adatok.txt", "r", encoding="utf-8") as file:
    print(file.read())

Írás

with open("adatok.txt", "w", encoding="utf-8") as file:
    file.write("Új sor\n")

Hozzáfűzés

with open("adatok.txt", "a", encoding="utf-8") as file:
    file.write("További sor\n")

Miért jó a with open?

Mert automatikusan lezárja a fájlt. Ez tisztább és biztonságosabb, mint kézzel nyitni és zárni.

Gyakori hibák

  • nem létező fájlt akarsz olvasni
  • a "w" módot használod akkor is, amikor hozzáfűzni szerettél volna
  • elfelejted a sortörést több sor írásakor
Jó szokás: szöveges fájloknál gyakran érdemes expliciten encoding="utf-8"-at megadni.