
Fájl beolvasás Python-ban
Bevezető Python Fájl műveletek
2022. november 24.
A Python nyelv híres arról, hogy nagyon rövid és tömör. Megfelelő hozzáértéssel akár pár sorból is lehet egész összetett kódokat is. Ezért ne lepődjünk meg, ha egy adott funkcióra csak pár sor kódot látunk. Ez a helyzet az állomány beolvasása során is.
Egy beépített open
nevű függvényt fogunk használni. Ez a függvény egy vagy két paramétert vár. Az első a megnyitandó állomány elérési útvonala. A második pedig egy opcionális paraméter, ami a megnyitás módja.
open(file, mode)
Mód paraméter alapból
négy állapotot vehet fel:
”r” - read
– Csak olvasásra, ez az alapértelmezett. Fontos, hogy ha a megadott állomány nem létezik, akkor hibát dob.”a” - append
– Ezt akkor használjuk, ha egy állomány végére új tartalmat szeretnénk beszúrni. Amennyiben az állomány nem létezik, akkor létrehozza.”w” - write
– Ebben az esetben az állományt teljes szerkesztésre nyitja meg. Ilyenkor lehetőségünk van akár a teljes tartalmát is cserélni vagy módosítani. Ez a mód is létre hozza az állományt, ha nem létezik.”x” - create
– Létre hozza az állományt. Fontos, hogy ha a létrehozandó állomány már létezik, akkor hibát dob, mert nem tudja újra létrehozni.
Ehhez kapcsolódik még két lehetséges opció is, ha szeretnénk meghatározni a megnyitandó állomány típusát.
"t" – Szöveges állomány
- Ez a szöveges mód, ez az alapértelmezett, ha nem rendelkezünk felőle."b" – Bináris állomány
– Bináris mód, amikor nem szöveges állományt nyitunk meg (ilyen például egy kép)
Nézzünk rá akkor pár példát, hozzuk létre a read.py állományt és írjunk egy egyszerű beolvasást.
# Csak olvasásra szöveges állományt
file = open("minta.txt", "r")
# Az állomány tartalmának kiírása
print(file.read())
Majd futtassuk, de ügyeljünk rá, hogy a beolvasni való állomány létezzen, különben hibát kapunk.
$ py read.py
Majd nézzünk egy példát, egy bináris beolvasásra.
# Csak olvasásra bináris állományt
file = open("minta.txt", "rb")
A bináris állományt nem íratjuk ki, mert számunkra nem értelmezhető szöveget látnánk. Viszont innentől kezdve lehet vele tovább dolgozni.
Ezt a módszert alkalmazva, a megadott állomány teljes tartalma bekerült a változóba és innentől kezdve szabadon tudunk vele dolgozni.