Python Academy · Lektion

Håndtering af undtagelser ved fil-I/O

Opdag, hvordan du håndterer fejl, når du arbejder med filer.

Lektion 3 af 311 trin

Håndtering af undtagelser ved fil-I/O er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 3 lektioner i alt.

Introduktion til håndtering af undtagelser ved fil-I/O

Når du arbejder med filer, kan der opstå fejl som manglende filer, tilladelsesproblemer eller forkert formaterede data. Python indeholder mekanismer til at håndtere disse fejl på en kontrolleret måde ved hjælp af undtagelseshåndtering.

I denne lektion lærer du at håndtere filrelaterede undtagelser, så dine programmer bliver mere robuste.

Håndtering af undtagelser ved fil-I/O — illustration 1

Almindelige fejl ved fil-I/O

Her er nogle almindelige fejl, der opstår under filhandlinger:

  • FileNotFoundError: Filen findes ikke.
  • PermissionError: Du har ikke tilladelse til at få adgang til filen.
  • IsADirectoryError: Stien er en mappe, ikke en fil.

Brug af try og except ved fil-I/O

Indpak filhandlinger i en try-blok for at opfange og håndtere undtagelser:

# 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åndtering af flere undtagelser

Du kan håndtere flere undtagelser ved at angive flere except-blokke:

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

Brug af finally til oprydning

finally-blokken udføres altid, uanset om der opstod en undtagelse. Den er nyttig til oprydningshandlinger som at 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

Brug af with til automatisk oprydning

with-sætningen håndterer automatisk oprydning af ressourcer, så behovet for eksplicitte finally-blokke reduceres:

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

Manuel udløsning af undtagelser

Du kan udløse undtagelser manuelt ved hjælp af nøgleordet raise. Det er nyttigt til validering af filhandlinger:

# 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åndtering af fejl ved skrivning til filer

Når du skriver til en fil, kan der opstå undtagelser som PermissionError. Sørg altid for korrekt fejlhå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.")

Almindelige fejl ved håndtering af filinput og -output

Her er nogle fejl, du bør undgå:

  • Ikke at fange specifikke undtagelser, for eksempel ved at bruge en generisk except-blok.
  • At glemme at lukke filen, hvis with ikke bruges.
  • Ikke at logge undtagelsens meddelelse til brug ved fejlfinding.

Hvad har du lært

I denne lektion har du lært:

  • Hvordan du bruger try-, except- og finally-blokke til at håndtere filrelaterede undtagelser.
  • Hvordan du håndterer flere undtagelser for forskellige fejltyper.
  • Hvordan du manuelt rejser undtagelser for at validere filhandlinger.

Flot klaret! Lad os gå videre til det næste emne.

Håndtering af undtagelser ved fil-I/O — illustration 11
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Håndtering af undtagelser ved fil-I/O” gratis?

Ja — hele teksten til “Håndtering af undtagelser ved fil-I/O” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Håndtering af undtagelser ved fil-I/O”?

Opdag, hvordan du håndterer fejl, når du arbejder med filer. Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 3.

Hvor lang tid tager lektionen “Håndtering af undtagelser ved fil-I/O”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Læsning og skrivning af filer
  2. Arbejde med CSV-filer
  3. Håndtering af undtagelser ved fil-I/O
← Tilbage til Python Academy