Python Academy · leksjon

Håndtere unntak ved fil-I/O

Oppdag hvordan du håndterer feil når du arbeider med filer.

Leksjon 3 av 311 trinn

Håndtere unntak ved fil-I/O er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 3 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 3 leksjoner.

Introduksjon til håndtering av unntak ved fil-I/O

Når De arbeider med filer, kan det oppstå feil som manglende filer, tillatelsesproblemer eller feilformatert data. Python tilbyr mekanismer for å håndtere disse feilene på en kontrollert måte ved hjelp av unntakshåndtering.

I denne leksjonen lærer De å håndtere filrelaterte unntak for å gjøre programmene mer robuste.

Håndtere unntak ved fil-I/O — illustrasjon 1

Vanlige feil ved fil-I/O

Her er noen vanlige feil som oppstår under filoperasjoner:

  • FileNotFoundError: Filen finnes ikke.
  • PermissionError: De har ikke tillatelse til å få tilgang til filen.
  • IsADirectoryError: Banen viser til en mappe, ikke en fil.

Bruke try og except for fil-I/O

Plasser filoperasjoner i en try-blokk for å fange opp og håndtere unntak:

# 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.")

Håndtere flere unntak

De kan håndtere flere unntak ved å angi flere except-blokker:

# 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.")

Bruke finally til opprydding

finally-blokken kjøres alltid, uavhengig av om det oppstod et unntak. Den er nyttig for oppryddingshandlinger som å lukke filer:

# 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

Bruke with til automatisk opprydding

with-setningen håndterer automatisk opprydding av ressurser, slik at behovet for eksplisitte finally-blokker reduseres:

# 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.")

Utløse unntak manuelt

De kan utløse unntak manuelt ved hjelp av nøkkelordet raise. Dette er nyttig for å validere filoperasjoner:

# 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.")

Håndtere feil ved skriving til filer

Når De skriver til en fil, kan det oppstå unntak som PermissionError. Sørg alltid for riktig feilhåndtering:

# 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.")

Vanlige feil ved håndtering av unntak i fil-I/O

Her er noen feil du bør unngå:

  • Ikke fange opp spesifikke unntak, for eksempel ved å bruke en generell except-blokk.
  • Glemme å lukke filen hvis with ikke brukes.
  • Ikke logge unntaksmeldingen for feilsøking.

Hva har vi lært?

I denne leksjonen lærte du:

  • Hvordan du bruker blokkene try, except og finally til å håndtere filrelaterte unntak.
  • Hvordan du håndterer flere unntak for ulike feiltyper.
  • Hvordan du hever unntak manuelt for å validere filoperasjoner.

Flott jobbet! La oss gå videre til neste emne.

Håndtere unntak ved fil-I/O — illustrasjon 11
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Håndtere unntak ved fil-I/O» gratis?

Ja – hele teksten i «Håndtere unntak ved fil-I/O» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Håndtere unntak ved fil-I/O»?

Oppdag hvordan du håndterer feil når du arbeider med filer. Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 3.

Hvor lang tid tar leksjonen «Håndtere unntak ved fil-I/O»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Lese og skrive filer
  2. Arbeide med CSV-filer
  3. Håndtere unntak ved fil-I/O
← Tilbake til Python Academy