V dodávky V predchádzajúcich lekciách tohto kurzu programovania v Pythone s použitím Linuxu sme videli, že údaje je možné zadávať zo zoznamov, n-tíc a slovníkov, alebo ich zadávaním manuálne. Teraz si ukážeme, ako pracovať s čítaním alebo ukladaním súborov.
Importovaním potrebných modulov dokáže Python čítať, vytvárať a zapisovať do rôznych formátov súborov vrátane tých z najpopulárnejších kancelárskych balíkov a PDF; V tomto príspevku sa zatiaľ budeme venovať textovým súborom.
Kurz programovania v Pythone s použitím Linuxu. Štrnásta časť
Obyčajné textové súbory sú najzákladnejším spôsobom ukladania údajovs. Ide o písmená, čísla, symboly a medzery uložené v riadkoch bez akéhokoľvek formátovania. Ide o typ súboru vytvoreného pomocou programov ako Gedit, Kate alebo Poznámkový blok systému Windows.
Kompatibilný s väčšinou programov a programovacích jazykov, Formát obyčajného textu sa používa na ukladanie jednoduchých informácií, ako sú nastavenia, záznamy o aktivite, zoznamy alebo výsledky vykonávania programov.
Python už od inštalácie obsahuje základné príkazy na prácu s textovými súbormi vrátane ich otvárania, čítania, zápisu a zatvárania.
Funkcia open()
Táto funkcia vyžaduje dva parametre: názov súboru a jeden z nasledujúcich:
- r: Prečítajte si existujúci súbor.
- wSkontroluje, či súbor existuje, vytvorí ho, ak neexistuje, a prepíše jeho obsah, ak existuje.
- r+: Kombinuje čítanie a zápis do súboru.
- a: Nižšie napíšte obsah súboru.
Napríklad tento návod:
archivo = open("archivo.txt", "r")
- Otvorte súbor a prečítajte si jeho obsah.
- Premenná uchováva objekt, ktorý funkcia open vytvorí pri otvorení súboru.
Pomocou tohto programu otvoríme súbor, prečítame a vypíšeme jeho obsah a zatvoríme ho.
archivo = open("archivo.txt", "r")
contenido = archivo.read()
print(contenido)
archivo.close()
Tento program
- Otvorte súbor v režime čítania a priraďte objekt premennej súboru.
- Metóda read priradená k premennej objektu súboru načíta obsah pomocou metódy read a priradí ho k premennej obsahu.
- Vypíše obsah uložený v premennej `content`.
- Zatvorte súbor.
Teraz sa pozrime na iný spôsob čítania obsahu súboru;
V tomto prípade používame inú metódu s názvom readlines.
- Program otvorí súbor v režime čítania, vytvorí objekt a priradí ho premennej súboru.
- Funkcia file.readlines vytvorí zoznam so všetkými riadkami textového súboru a priradí ho premennej lines.
- Slučka vypíše riadok po riadku s detailom. Keďže editory obyčajného textu obsahujú špeciálny znak na označenie zalomenia riadkov, metóda strip tento znak z výpisu odstráni.
- Súbor je uzavretý.
Súbor môžeme napísať pomocou programu, ako je tento
archivo = open("archivo.txt", "w")
archivo.write("Hola, estamos escribiendo un archivo.\n")
archivo.write("usando un programa en Python.")
archivo.close()
- Program otvorí súbor alebo ho vytvorí, ak neexistuje, vytvorí objekt a priradí ho do premennej súboru.
- Prvý riadok napíšete pridaním metódy write do premennej súboru. .\n označuje, že by mal byť zalomený riadok.
- Napíš druhý riadok.
- Zatvorte súbor.
Iný spôsob zápisu do súboru:
archivo = open("archivo.txt", "a")
archivo.write("Voy a agregar una línea más.")
archivo.close()
Tento program otvorí súbor pomocou parametra „a“, ktorý označuje, že text by mal byť vložený za aktuálny text.
Skúsme kombinovaný príklad:
Tento program robí nasledovné:
- Vytvorte súbor distributions.txt v režime zápisu, vytvorte objekt, s ktorým bude Python pracovať, a priraďte ho k súboru s premennými.
- Do súboru napíšte názvy troch distribúcií, za ktorými nasleduje zalomenie riadku, aby boli zoradené v stĺpcoch.
- Zatvorte súbor.
- Otvorte súbor v režime čítania, vytvorte objekt, s ktorým bude Python pracovať, a priraďte ho premennej súboru.
- Vypíše na obrazovku správu, že zobrazí obsah súboru.
- Spustite slučku na čítanie obsahu súboru riadok po riadku.
- Vypíše riadok po riadku s vynechaním znaku indikátora zalomenia riadku.
- Zatvorte súbor.
spracovanie chýb
V dôsledku chýb kódu alebo používateľa môžu často nastať situácie, ktoré bránia pokračovaniu fungovania programu. Python zvyčajne zastaví vykonávanie a zobrazí chybové hlásenie. Môžeme však podniknúť kroky, aby sme tomu zabránili. Toto sa nazýva spracovanie výnimiek.
Python má mechanizmus na riešenie problémov (alebo výnimočných situácií) známy ako blok try-except.Blok `try` obsahuje kód, ktorý Python priradí chybe, a blok `except` obsahuje kód, ktorý by sa mal použiť na reakciu na túto chybu. Chyba by bola napríklad pokus o otvorenie súboru, ktorý neexistuje, alebo zápis do súboru, pre ktorý program nemá dostatočné oprávnenia.
- Blok kódu, ktorý má Python vykonať, začíname inštrukciou try.
- Súbor (za predpokladu, že existuje) otvoríme v režime čítania.
- Obsah súboru priradíme premennej `content`.
- Vypíšeme názov „Obsah súboru“
- Vytlačíme obsah.
- Zavreli sme súbor.
- Ak program nevie nájsť súbor, zobrazí dve správy, ktoré označujú, že súbor neexistuje a že by sme mali skontrolovať jeho názov.
Najčastejšie typy chýb:
- Chyba hodnoty: Došlo k pokusu o použitie neplatnej hodnoty v operácii alebo funkcii.
- Chyba typu: Dochádza k pokusu o použitie neplatného dátového typu v operácii alebo funkcii.
- Chyba indexu: Chcete získať prístup k neexistujúcemu indexu v zozname alebo n-tici.
- KeyErrorPrebieha pokus o prístup ku kľúču, ktorý neexistuje v slovníku.
- ChybaSúborNenašielSúborPrebieha pokus o prístup k neexistujúcemu súboru.
- Chyba nulového delenia: Uskutoční sa pokus o delenie čísla nulou.
- Chyba atribútu: Došlo k pokusu o prístup k neexistujúcemu atribútu v objekte.
- Chyba importuToto sa stane, keď sa pokúsite importovať modul, ktorý neexistuje, alebo keď sa počas importu vyskytnú chyby.
V budúcich článkoch budeme s týmto kurzom pokračovať