Python

Ako čítať a písať textové súbory v Pythone

Ako čítať a písať textové súbory v Pythone
Tento článok sa bude zaoberať sprievodcom vysvetľujúcim prácu s externými súbormi v pythone. Hlavné zameranie bude na otváranie a zatváranie textových a iných nebinárnych dátových súborov uložených na pamäťovom médiu, čo vám umožní vykonávať rôzne operácie s obsahom otvorených súborov.

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:

1
2
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:

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.

Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...
Hry 0 A.D. Výukový program
0 A.D. Výukový program
Z mnohých strategických hier je tu 0 A.D. dokáže vyniknúť ako komplexný titul a veľmi hlboká, taktická hra napriek tomu, že je otvoreným zdrojom. Vývo...