Cvičenie na výnimky a súbory Budeme pracovať so súbormi. Dávajte extra extra pozor, aby ste si niečo dôležité neprepísali!! Pripomenutie syntaxe Vyhodenie výnimky: raise ExceptionType Zachytávanie vynimok: try: # prikazy, ktore mozu zlyhat except ExceptionType: # prikazy, ktore sa vykonaju, ked to zlyha Načítanie súboru: with open('subor.pripona') as f: obsah = f.read() Prepísanie súboru: # TOTO VAM PREPISE subor 'subor.pripona', ak existuje with open('subor.pripona', 'w') as f: f.write("TEXT") link - Módy funkcie open Na zahriatie • Vyhoďťe výnimku podľa Vašeho výberu. • Zachytťe vašu výnimku v try-except bloku • Vytvorte si pomocou Pythonu súbor s príponou .txt (názov a obsah je na vás) a overte, že sa jedná o textový súbor (otvorte súbor v textovom editore). • Vytvorte si pomocou Pythonu súbor s príponou .docx a overte, že sa stále jedná o textový súbor. • Načítajte vytvorený súbor do premennej v Pythone. 1 Skoro vírus Vytvorte program, ktorý: 1. načíta svoj vlastný kód 2. na začiatok každého riadku pridá ‘#’ 3. uloží nový kód do nového súboru Kontrola inputu Napíšte funkciu, ktorá vezme 1 argument x a skontroluje či je x možná trojica hodnot: (meno, vek, výška[cm]) Skontrolujte typ a hodnoty (napr. vek -3.14 nie je správny vek, podobne "Osemdesiat" nie je). Ak je input zlý vyhoďte vhodnú výnimku. Zápis dát Napíšte funkciu, ktorá bude očakávať rovnaký input ako funkcia z predchádzajúceho cvičenia a pridá dáta do súboru. Pokiaľ súbor neexistuje tak ho vytvorte. Pokiaľ súbor existuje tak pridajte dáta na koniec súboru. Použite pritom predchádzajúcu funkciu pre kontrolu inputu. Pokiaľ je input zlý nevyhoďte výnimku, len jemne naznačte užívateľovi, že dáta odmietate zapísať do súboru. parser Napíšte parser na váš súbor, t.j. premeňte súbor naspäť na trojice dát (meno, vek, výška[cm]) UFO V št. materiáloch na ISe nájdete súbor, v ktorom sú dokumentované pozorovania UFO: (Data som našiel na: https://github.com/planetsig/ufo-reports) Vašou úlohou bude vytvoriť program, ktorý nájde v súbore všetky záznamy, ktoré sa týkajú Česka a Slovenska, a zapíše ich do iného súboru. 2