Fájl megnyitása és bezárása
Adatok leolvasása egy „data” nevű szöveges fájlból.txt ”, akkor a hivatalos Python buildekkel együtt kapott„ open ”metódust kell használnia. Ellenőrizze az alábbi mintakódot:
f = nyitott ('adatok.txt ',' r ')f.Bezárás()
Az első állítás megnyitja az „adatokat.txt ”fájl„ r ”(csak olvasható) módban. A „nyitott” módszer elfogadja argumentumként a fájlnevet és a fájl kezelésének módját. Az „r” mód mellett vannak más módok is, amelyeket később elmagyarázunk. A fenti kódrészlet nem futtat semmilyen műveletet a megnyitott fájlon. A „bezárás” módszer a nyitott fájl tiszta bezárására szolgál, hogy felszabaduljon a memória, és elkerülhető legyen a megnyitott fájlban előforduló adatok sérülése, amely néha előfordulhat, ha a fájl nincs megfelelően lezárva.
Ahelyett, hogy a fájlok megnyitásának és bezárásának kezelésére az „open” módszert alkalmazná, kombinálhatja a „with” kulcsszóval, és használhatja a „with open” utasítással.
nyitott ('adatokkal.txt ',' r ') mint f:passz
A „nyitva” utasítás használatának legfőbb előnye, hogy az értelmező automatikusan bezárja a megnyitott fájlt, ha a „nyitva” kódblokk teljesen értelmezve van. Bár a Python szemétgyűjtője egy idő után automatikusan bezárja a megnyitott fájlokat az előre beállított szabályok szerint, a „nyitott” utasításokkal biztosítani kell, hogy a fájl tiszta legyen, amint a kódblokk befejeződik az erőforrások felszabadítása érdekében.
Szöveges fájl sorainak olvasása
A fájl tartalmának elolvasásához használja az alábbi kódmintát:
nyitott ('adatokkal.txt ',' r ') mint f:adatok = f.olvas()
nyomtatás (adatok)
Például, ha az „adatok.A txt ”fájl 1-10 számot tartalmaz, mindegyik egy új sorban, és a fenti kód futtatása után a következő kimenetet kapja:
12
3
4
5
6
7
8
9
10
Az „adatok.A txt ”fájlt az“ data ”változó tárolja. Ha fel akarja olvasni a sorokat egy listára, akkor a következő kódmintákat használhatja:
nyitott ('adatokkal.txt ',' r ') mint f:adatok = f.readlines ()
nyomtatás (adatok) open ('adatokkal.txt ',' r ') mint f:
adatok = lista (f)
nyomtatás (adatok)
Ne feledje, hogy a fenti kivonatok használatával „\ n” (újsor) karaktert kaphat a lista minden elemének végén. Ezeknek az új soros karaktereknek a eltávolításához előfordulhat, hogy végig kell lapoznia a listán. Létrehozhat új listát, és új sor karaktereket csíkolhat a következő kód használatával:
adat_lista = []nyitott ('adatokkal.txt ',' r ') mint f:
az f sorban:
adat_lista.függelék (sor.szalag())
nyomtatás (adat_lista)
A fenti kód futtatásával a következő kimenetet kapja:
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']Adatok írása megnyitott fájlba
Ha a „nyitva” utasítással megnyitott fájlba kíván írni adatokat, akkor egy másik nyitási módot kell megadnia argumentumként. Íme néhány mód:
- 'a' - az adatok hozzáfűzésére szolgál a megnyitott fájl végén, új fájlt hoz létre, ha nem létezik
- 'w' - törli a megnyitott fájl tartalmát és új adatokat ír, új fájlt hoz létre, ha nem létezik
- „r” - csak olvasható mód (alapértelmezett mód, ha nem adunk meg argumentumot)
- „r +” - olvasáshoz és íráshoz egyaránt használatos (a kezdeti pozíció a fájl elején van)
- 'b' - a fájl bináris módban van megnyitva (nem szöveges bináris fájloknál hasznos), kombinálható más módokkal
- 'a +' - olvasásra és csatolásra használják, új fájlt hoz létre, ha még nem létezik
- 'w +' - olvasásra és írásra használatos, új fájlt hoz létre, ha nem létezik
Az alábbiakban felsorolunk néhány kódrészletet, amelyek különböző módokat használnak az adatok írására.
Ha új tartalmat szeretne írni egy szöveges fájlba a meglévő adatok törlése közben, használja a következő mintát:
nyitott ('adatokkal.txt ',' w ') mint f:f.írás ("1 \ n2")
A fenti kódrészlet futtatása után 1-10 számot kell beírni az „adatok.txt ”fájlt két új sorral kell helyettesíteni.
Sorok hozzáadásához a szöveges fájl elejéhez a "seek" módszerrel kell visszatérnie a fájlpuffer kiinduló helyzetéhez:
nyitott ('adatokkal.txt ',' r + ') mint f:adatok = f.olvas()
f.keresni (0)
f.írás ("- 1 \ n0 \ n")
f.írás (adatok)
A fenti kódrészlet futtatása után -1 és 0 szám kerül az adatok két legfelső sorába.txt ”fájlokat.
Adatok csatolásához a fájl végén használja a következő mintát:
nyitott ('adatokkal.txt ',' a ') as f:f.ír ("11 \ n12")
A fenti kódrészlet futtatása után 11 és 12 szám kerül a fájl végére.
Következtetés
A Python beépített osztályai és metódusai robusztus módot nyújtanak a szöveges fájlok kezelésére. Csak néhány kódsorral manipulálhatja a fájl meglévő adatait, és új sorokat is beszúrhat.