Otváranie a zatváranie súboru
Čítať údaje z textového súboru s názvom „data.txt “, musíte použiť metódu„ otvoriť “, ktorá sa dodáva s oficiálnymi zostavami Pythonu. Skontrolujte vzorový kód uvedený nižšie:
f = otvorené ('údaje.txt ',' r ')f.Zavrieť()
Prvý príkaz otvára „údaje.Súbor txt “v režime„ r “(iba na čítanie). Metóda „open“ akceptuje ako argumenty názov súboru a režim narábania so súborom. Okrem režimu „r“ existujú aj ďalšie režimy, ktoré budú vysvetlené neskôr. Fragment kódu vyššie nespúšťa s otvoreným súborom žiadne operácie. Metóda „zatvorenia“ sa používa na čisté zatvorenie otvoreného súboru, aby sa dalo uvoľniť pamäť, a aby sa zabránilo poškodeniu údajov v otvorenom súbore, ku ktorému môže niekedy dôjsť, ak súbor nie je správne zatvorený.
Namiesto použitia metódy „open“ na otváranie a zatváranie súborov ju môžete kombinovať s kľúčovým slovom „with“ a použiť príkaz „with open“.
s otvorenými ('údajmi.txt ',' r ') ako f:prejsť
Hlavnou výhodou použitia príkazu „s otvoreným“ je, že tlmočník automaticky zatvorí otvorený súbor bezpečne, keď je blok kódu „s otvoreným“ úplne analyzovaný. Aj keď program na zhromažďovanie odpadkov v Pythone po určitom čase automaticky zavrie otvorené súbory podľa prednastavených pravidiel, príkazy „s otvoreným“ zabezpečia, aby bol súbor po ukončení bloku kódu čisto uzavretý, aby sa uvoľnili zdroje.
Čítanie riadkov textového súboru
Na prečítanie obsahu súboru použite nasledujúcu ukážku kódu:
s otvorenými ('údajmi.txt ',' r ') ako f:údaje = f.čítať()
tlač (údaje)
Napríklad ak „dáta.Súbor txt ”má 1–10 čísel, každé na novom riadku, po spustení vyššie uvedeného kódu získate nasledujúci výstup:
12
3
4
5
6
7
8
9
10
Celý výpis údajov „údajov.Súbor txt je uložený v premennej „data“. Ak chcete čítať riadky v zozname, môžete použiť nasledujúce ukážky kódu:
s otvorenými ('údajmi.txt ',' r ') ako f:údaje = f.readlines ()
print (data) s otvorenými ('data.txt ',' r ') ako f:
data = zoznam (f)
tlač (údaje)
Upozorňujeme, že použitie vyššie uvedených úryvkov vám môže poskytnúť znak „\ n“ (nový riadok) na konci každého prvku v zozname. Ak chcete tieto znaky nového riadku odstrániť, bude pravdepodobne potrebné prechádzať zoznamom. Môžete vytvoriť nový zoznam aj odstrániť znaky nového riadku pomocou nasledujúceho kódu:
data_list = []s otvorenými ('údajmi.txt ',' r ') ako f:
pre riadok v f:
zoznam_údajov.pripojiť (riadok.pásik ())
print (data_list)
Spustením vyššie uvedeného kódu získate nasledujúci výstup:
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']Zápis dát do otvoreného súboru
Ak chcete zapísať údaje do súboru, ktorý sa otvára, pomocou príkazu „s otvoreným“, budete musieť ako argument zadať iný režim otvárania. Tu sú niektoré z režimov:
- „a“ - používa sa na pripojenie údajov na konci otvoreného súboru, vytvorí nový súbor, ak neexistuje
- 'w' - vymaže obsah otvoreného súboru a zapíše nové údaje, vytvorí nový súbor, ak neexistuje
- „r“ - režim iba na čítanie (predvolený režim, ak nie je zadaný žiadny argument)
- „r +“ - používa sa na čítanie aj na zápis (počiatočná pozícia je na začiatku súboru)
- 'b' - súbor je otvorený v binárnom režime (užitočné pre netextové binárne súbory), je možné ho kombinovať s inými režimami
- „a +“ - používa sa na čítanie a pripájanie, vytvorí nový súbor, ak neexistuje
- 'w +' - používa sa na čítanie a zápis, vytvorí nový súbor, ak neexistuje
Niektoré úryvky kódu, ktoré na zápis údajov používajú rôzne režimy, sú uvedené nižšie.
Ak chcete napísať nový obsah do textového súboru a súčasne vymazať existujúce údaje, použite nasledujúcu ukážku:
s otvorenými ('údajmi.txt ',' w ') ako f:f.write ("1 \ n2")
Po spustení úryvku vyššie bude mať v údajoch 1 až 10 čísel.súbor txt ”by mal byť nahradený dvoma novými riadkami.
Ak chcete pridať riadky na začiatok textového súboru, musíte sa pomocou metódy „hľadať“ vrátiť na východiskovú pozíciu vyrovnávacej pamäte súboru:
s otvorenými ('údajmi.txt ',' r + ') ako f:údaje = f.čítať()
f.hľadať (0)
f.write ("- 1 \ n0 \ n")
f.zápis (údaje)
Po spustení úryvku vyššie budú do horných dvoch riadkov v „dátach“ pridané čísla -1 a 0.txt ”súbory.
Ak chcete pridať údaje na koniec súboru, použite nasledujúcu ukážku:
s otvorenými ('údajmi.txt ',' a ') ako f:f.write ("11 \ n12")
Po spustení úryvku vyššie bude na koniec súboru pridaných 11 a 12 čísel.
Záver
Vstavané triedy a metódy v Pythone poskytujú robustný spôsob spracovania textových súborov. Iba s niekoľkými riadkami kódu môžete manipulovať s existujúcimi údajmi v súbore a vkladať nové riadky.