Otváranie súborov
Nauč sa, ako bezpečne otvárať súbory v Pythone pomocou funkcie open().
Funkcia open()
V Pythone otvárame súbory pomocou vstavanej funkcie
open(). Vracia objekt súboru, cez ktorý môžeme čítať alebo zapisovať obsah. Funkcia prijíma dva parametre: názov súboru a režim otvárania.syntax
subor = open("nazov.txt", "rezim") # odporúčaný spôsob: blok with (automatické zatvorenie) with open("nazov.txt", "r") as f: obsah = f.read()
Výhody bloku with
Súbor otvorený pomocou kľúčového slova
with sa automaticky zatvorí na konci bloku — aj v prípade chyby. Je to bezpečnejšie ako manuálne volanie f.close().❌ Starý spôsob
f = open("data.txt")
obsah = f.read()
f.close() # môžeme zabudnúť!
✅ Odporúčaný spôsob
with open("data.txt") as f:
obsah = f.read()
# súbor je automaticky zatvorený
Kódovanie znakov
Pre správne zobrazenie slovenských znakov (á, č, š, ž, ý...) je dôležité zadať parameter
encoding="utf-8", inak môžeme dostať nesprávne znaky.encoding
with open("slovensky.txt", "r", encoding="utf-8") as f: text = f.read() print(text)
Režimy otvárania
Klikni na niektorý režim a zobraz si podrobný popis!
Prehľad režimov
Druhý parameter funkcie
open() určuje, čo chceme so súborom robiť.Rýchly prehľad
Kedy použiť ktorý režim?
prehľad režimov
# "r" → čítanie (súbor musí existovať) # "w" → zápis (prepíše existujúci obsah!) # "a" → pridávanie (existujúci obsah zostane) # "r+" → čítanie+zápis (súbor musí existovať) # "x" → vytvorenie (chyba, ak súbor existuje) # "rb" → binárne čítanie (obrázky, PDF) # "wb" → binárny zápis
Mini kvíz
Aký režim použijeme, ak chceme zapisovať od začiatku súboru, ale nechceme zmazať jeho obsah?
Čítanie súborov
Tri metódy a cyklus for — každá má svoje miesto.
Obsah simulovaného súboru
dennik.txt
Prvý riadok: ranné úlohy
Druhý riadok: obedňajšie plány
Tretí riadok: večerné činnosti
Štvrtý riadok: program na zajtra
Tento súbor budeme čítať v nasledujúcich príkladoch. Prepínaj medzi metódami a sleduj rozdiel!
Metódy čítania
Mini kvíz
Ktorá metóda vráti všetky riadky súboru ako zoznam (list)?
Zápis do súborov
Ukladanie obsahu, prepísanie, pridávanie — a úprava existujúceho súboru.
Metódy zápisu
Stav súboru po spustení kódu:
vystup.txt
— klikni na „Spustiť kód" —
Mini kvíz
Čo sa stane, ak otvoríme existujúci súbor v režime "w"?
Zhrnutie
Všetko, čo si sa naučil — na jednom mieste.
📂
Otváranie
Vždy použi
with blok a nezabudni na encoding="utf-8" pre slovenské znaky!📖
Čítanie
read() celý obsah, readline() po riadkoch, readlines() ako zoznam, for pre veľké súbory✏️
Zápis
"w" prepíše obsah, "a" pridáva na koniec, "r+" číta aj zapisuje na mieste⚠️
Ošetrenie chýb
Používaj
try/except na zachytenie FileNotFoundError a PermissionErrorKompletný príklad
Vytvorenie súboru, zápis, pridanie riadku a následné čítanie — všetko pohromade:
kompletný príklad
# 1. Vytvorenie súboru a zápis riadky = ["jablko\n", "hruška\n", "slivka\n"] with open("ovocie.txt", "w", encoding="utf-8") as f: f.writelines(riadky) # 2. Pridanie ďalšieho riadku with open("ovocie.txt", "a", encoding="utf-8") as f: f.write("broskyňa\n") # 3. Čítanie a výpis riadkov with open("ovocie.txt", "r", encoding="utf-8") as f: for riadok in f: print(riadok.strip())
jablko
hruška
slivka
broskyňa
Ošetrenie chýb
Vždy je dobré ošetriť možné chyby pri práci so súbormi, najmä ak názov súboru pochádza od používateľa.
try/except
try: with open("neexistujuci.txt", "r", encoding="utf-8") as f: print(f.read()) except FileNotFoundError: print("Súbor sa nenašiel!") except PermissionError: print("Nemáš prístup k súboru!") except UnicodeDecodeError: print("Chyba kódovania — skús iné encoding!")
Gratulujeme! Úspešne si dokončil učebnicu o práci so súbormi v Pythone. 🎉