Python Academy · Oppitunti

Tiedostojen I/O:n poikkeusten käsittely

Tutustukaa virheiden käsittelyyn tiedostojen parissa työskenneltäessä.

Oppitunti 3/311 vaihetta

Tiedostojen I/O:n poikkeusten käsittely on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 3 oppituntia.

Tiedosto-I/O:n poikkeusten käsittelyn esittely

Tiedostoja käsiteltäessä voi ilmetä virheitä, kuten puuttuvia tiedostoja, käyttöoikeusongelmia tai virheellisesti muotoiltuja tietoja. Python tarjoaa poikkeustenkäsittelymekanismeja näiden virheiden hallintaan hallitusti.

Tässä oppitunnissa opit käsittelemään tiedostoihin liittyviä poikkeuksia, jotta ohjelmistasi tulee vankempi.

Tiedostojen I/O:n poikkeusten käsittely — kuvitus 1

Yleiset tiedosto-I/O-virheet

Seuraavassa on tiedostotoimintojen aikana yleisesti ilmeneviä virheitä:

  • FileNotFoundError: Tiedostoa ei ole olemassa.
  • PermissionError: Sinulla ei ole oikeutta käyttää tiedostoa.
  • IsADirectoryError: Polku viittaa hakemistoon, ei tiedostoon.

try- ja except-rakenteiden käyttö tiedosto-I/O:ssa

Sijoita tiedosto-operaatiot try-lohkoon, jotta voit ottaa poikkeukset kiinni ja käsitellä ne:

# Handling file not found error
try:
    with open("nonexistent_file.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("The file does not exist.")

Useiden poikkeusten käsittely

Voit käsitellä useita poikkeuksia määrittämällä useita except-lohkoja:

# Handling multiple exceptions
try:
    with open("example.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("The file does not exist.")
except PermissionError:
    print("You don’t have permission to access this file.")

finally-lauseen käyttö siivoukseen

finally-lohko suoritetaan aina riippumatta siitä, tapahtuiko poikkeus. Se on hyödyllinen siivoustoimissa, kuten tiedostojen sulkemisessa:

# Using finally for cleanup
try:
    file = open("example.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("The file does not exist.")
finally:
    print("Closing the file.")
    file.close()  # Ensures the file is closed

with-lauseen käyttö automaattiseen siivoukseen

with-lause hoitaa resurssien siivouksen automaattisesti, joten erillisiä finally-lohkoja tarvitaan vähemmän:

# Using with to handle automatic cleanup
try:
    with open("example.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("The file does not exist.")

Poikkeusten nostaminen manuaalisesti

Voit nostaa poikkeuksia manuaalisesti raise-avainsanan avulla. Tämä on hyödyllistä tiedosto-operaatioiden tarkistamisessa:

# Raising an exception manually
file_path = "example.txt"

if not file_path.endswith(".txt"):
    raise ValueError("Only .txt files are supported.")

try:
    with open(file_path, "r") as file:
        content = file.read()
except FileNotFoundError:
    print("The file does not exist.")

Tiedostoihin kirjoittamisen virheiden käsittely

Tiedostoon kirjoitettaessa voi ilmetä poikkeuksia, kuten PermissionError. Varmista aina virheiden asianmukainen käsittely:

# Handling write errors
try:
    with open("output.txt", "w") as file:
        file.write("Hello, World!")
except PermissionError:
    print("You don’t have permission to write to this file.")

Yleiset virheet tiedostojen I/O-poikkeusten käsittelyssä

Tässä on joitakin vältettäviä virheitä:

  • Erityisten poikkeusten käsittelemättä jättäminen (esimerkiksi yleisen except-lohkon käyttäminen).
  • Tiedoston sulkemisen unohtaminen, jos with-lausetta ei käytetä.
  • Poikkeusviestin kirjaamatta jättäminen virheenkorjausta varten.

Mitä opimme?

Tässä oppitunnissa opitte:

  • Kuinka tiedostoihin liittyviä poikkeuksia käsitellään try-, except- ja finally-lohkojen avulla.
  • Kuinka useita poikkeuksia käsitellään eri virhetyyppejä varten.
  • Kuinka poikkeuksia nostetaan manuaalisesti tiedosto-operaatioiden kelvollisuuden tarkistamiseksi.

Hienoa työtä! Siirrytään seuraavaan aiheeseen.

Tiedostojen I/O:n poikkeusten käsittely — kuvitus 11
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Tiedostojen I/O:n poikkeusten käsittely” ilmainen?

Kyllä – oppitunnin ”Tiedostojen I/O:n poikkeusten käsittely” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Tiedostojen I/O:n poikkeusten käsittely”?

Tutustukaa virheiden käsittelyyn tiedostojen parissa työskenneltäessä. Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.

Kuinka kauan ”Tiedostojen I/O:n poikkeusten käsittely”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?

Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Tiedostojen lukeminen ja kirjoittaminen
  2. CSV-tiedostojen käsittely
  3. Tiedostojen I/O:n poikkeusten käsittely
← Takaisin: Python Academy