Fájlok írása Pytonban!
Elkészült a Python nyelv Szövegfájlok írása tananyagunk! Jó tanulást, jó gyakorlást!

<info9>

Példa: Szövegfájlok feldolgozása

Most, hogy megismerkedtünk a szövegfájlok beolvasásával, és a szövegfeldolgozás alapjaival is megismerkedtünk már, egy példán keresztül áttekintjük egy egyszerű szövegfájl adatainak feldolgozását. A példában használt fájl az 1973-ban megszűnt Baktalórántháza - Kisvárda vasútvonal állomásait és megállóhelyeit tartalmazza, azok kiindulóponttól való távolságáva, valamint típusával az alábbi formátumban:

0;Kisvárda;állomás
3;Kisvárdai szőlők;megállóhely
6;Anarcs;megállóhely
9;Gyulaháza;megállóhely
15;Nyírkarász;állomás
19;Petneháza;megállóhely
22;Nyírjákó;megállóhely
24;Lórántháza;megállóhely
27;Baktalórántháza;állomás

Ismerkedjünk meg az adatokkal

Áttekintve a fájlt, láthatjuk, hogy minden sor egy állomásról tartalmaz információt, és azt is láthatjuk, hogy minden sorban pontosvesszőkarakter választja el a 3 adatot - ebből láthatjuk, hogy a split utasítást tudjuk majd használni az információk szétvágására. Ezen felül érdemes lehet vetni még egy pillantást az információk adattípusaira:

Készítsük el!

A tervek alapján készítsük el a fájl beolvasását.

# Ebbe a listába fogjuk letárolni az állomásokat
allomasok = []

# Megnyitjuk a fájlt. A with szerkezetnek hála a fájl a beolvasás után automatikusan bezárásra kerül.
with open("vasutvonal.txt", "r") as fajl:
	# Egy for ciklussal végighaladnk a fájl minden során
    for sor in fajl:
    	# A beolvasott sort szétvágjuk a pontosvessző karakternél
        adatok = sor.strip().split(";")

        # Ezt követően létrehozunk egy szótárat az adatok tárolására
        szotar = {
          "tavolsag": int(adatok[0]), # A távolságot int-re konvertáljuk
          "nev": adatok[1],           # Az állomás nevét elég letárolnunk szövegként
          # A megállási pont jellegét pedig legegyszerűbben a ternary operátorral alakíthatjuk logikai értékké
          "allomas": True if adatok[2]=="állomás" else False
        }

        # Az összeállított szótárat pedig elhelyezzük a listában.
        allomasok.append(szotar)

# Teszt jelleggel kiíratjuk a beolvasott adatokat a konzolra.
print(allomasok)

Próbáld ki magad is! Nézd át a cikkünkhöz tartozó mintakódot - szerkeszd és futtasd közvetlenül a böngésződben, az info9 LineFlame fejlesztőeszközével!

Példa megnyitása