Kurz programovania v Pythone s použitím Linuxu. Štrnásta časť

Kurz programovania v Pythone s využitím Linuxu

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

  1. Otvorte súbor v režime čítania a priraďte objekt premennej súboru.
  2. Metóda read priradená k premennej objektu súboru načíta obsah pomocou metódy read a priradí ho k premennej obsahu.
  3. Vypíše obsah uložený v premennej `content`.
  4. Zatvorte súbor.

Teraz sa pozrime na iný spôsob čítania obsahu súboru;

Čítanie súboru riadok po riadku

Táto metóda číta súbor riadok po riadku v jazyku Python

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()

  1. Program otvorí súbor alebo ho vytvorí, ak neexistuje, vytvorí objekt a priradí ho do premennej súboru.
  2. Prvý riadok napíšete pridaním metódy write do premennej súboru. .\n označuje, že by mal byť zalomený riadok.
  3. Napíš druhý riadok.
  4. 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:

Čítanie a zápis súborov

Toto je kombinovaný príklad vytvorenia, zápisu a čítania textového súboru v jazyku Python.

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.

Ošetrenie chýb v Pythone

Python obsahuje mechanizmy na zabránenie chybám kódovania alebo používateľov.
  1. Blok kódu, ktorý má Python vykonať, začíname inštrukciou try.
  2. Súbor (za predpokladu, že existuje) otvoríme v režime čítania.
  3. Obsah súboru priradíme premennej `content`.
  4. Vypíšeme názov „Obsah súboru“
  5. Vytlačíme obsah.
  6. Zavreli sme súbor.
  7. 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ť