PythonPodcast 11 - itnett/FTD02H-N GitHub Wiki
Episode 11 – Filbehandling i Python – Lese, Skrive og Sikre Data
Velkommen til Episode 11!
I denne episoden skal vi gå gjennom filbehandling i Python. Vi vil dekke hvordan du kan lese fra og skrive til filer, samt hvordan du kan håndtere formater som CSV og JSON. I tillegg vil vi fokusere på viktigheten av sikker filbehandling for å beskytte dataene dine.
Oppsummering fra forrige episode
Vi lærte om testing og debugging i Python. Dette inkluderte:
-
Hvordan skrive tester med unittest.
-
Bruken av assert for å verifisere at programmet ditt fungerer riktig.
-
Bruken av pdb for å debugge koden steg for steg.
-
Mocking for å simulere eksterne ressurser i tester.
Dagens agenda
-
Hva er filbehandling?
-
Hvordan åpne, lese fra og skrive til filer.
-
Jobbe med CSV-filer – håndtering av tabulære data.
-
Jobbe med JSON-filer – jobbe med strukturert data.
-
Filbehandling og sikkerhet – hva bør vi tenke på?
Hva er filbehandling?
Filbehandling handler om å åpne, lese, skrive, eller endre filer på datamaskinen. Dette er veldig nyttig for å lagre data over tid. For eksempel kan du bruke filer til å lagre resultater fra et spill, lagre en brukers preferanser, eller behandle store datasett.
Åpne, lese og skrive filer
Vi starter med å lære hvordan vi åpner en fil, leser innholdet, og skriver til den. Python gir oss et enkelt API for å jobbe med filer.
Slik åpner vi en fil
Vi åpner en fil for lesing ('r') eller skriving ('w')
fil = open("minfil.txt", "r") # 'r' betyr at vi leser fra filen
Når vi åpner en fil, må vi alltid lukke den etterpå:
fil.close()
Dette sikrer at systemressursene frigjøres. Men for å gjøre det enklere, bruker vi ofte en with-blokk som automatisk lukker filen for oss når vi er ferdig:
with open("minfil.txt", "r") as fil: innhold = fil.read() print(innhold)
Her åpner vi filen, leser alt innholdet med .read(), og skriver det ut.
Slik skriver vi til en fil
For å skrive til en fil, åpner vi den med 'w' (write), eller 'a' for å legge til noe i en eksisterende fil:
with open("minfil.txt", "w") as fil: fil.write("Dette er en ny linje.\n")
Viktig! Når du bruker 'w', overskrives innholdet i filen. Hvis du vil beholde det eksisterende innholdet, bruk 'a' for å legge til nye linjer.
Jobbe med CSV-filer
CSV-filer er comma-separated values, altså tekstfiler som lagrer data i tabellformat. Python har et innebygd bibliotek kalt csv som gjør det enkelt å jobbe med disse filene.
Lesing fra CSV
import csv
with open("data.csv", "r") as csvfil: leser = csv.reader(csvfil) for rad i leser: print(rad)
Her leser vi en CSV-fil rad for rad.
Skriving til CSV
import csv
with open("nydata.csv", "w", newline='') as csvfil: skriver = csv.writer(csvfil) skriver.writerow(["Navn", "Alder", "By"]) skriver.writerow(["Max", "22", "Oslo"])
Dette skriver en ny CSV-fil med to rader, den første som kolonneoverskrifter.
Jobbe med JSON-filer
JSON (JavaScript Object Notation) er et populært format for å utveksle data mellom systemer. Python har et innebygd bibliotek for å lese og skrive JSON.
Lesing fra JSON
import json
with open("data.json", "r") as fil: data = json.load(fil) print(data)
json.load() laster JSON-dataene som et Python-objekt (f.eks. en liste eller et ordbok).
Skriving til JSON
import json
data = { "navn": "Max", "alder": 22, "by": "Oslo" }
with open("nydata.json", "w") as fil: json.dump(data, fil, indent=4)
Her skriver vi en ordbok til en JSON-fil med json.dump(). Merk at vi bruker indent=4 for å formatere dataene pent.
Filbehandling og sikkerhet
Når vi jobber med filer, er det viktig å være oppmerksom på sikkerhet:
-
Unngå å åpne ukjente filer som kan inneholde skadelig programvare.
-
Bruk riktige tilgangsnivåer når du åpner filer. For eksempel bør du ikke bruke 'w' på en viktig systemfil.
-
Sikkerhetskopier filer før du endrer dem, spesielt hvis de inneholder sensitive data.
-
Unngå hardkoding av filstier, og bruk os.path for å bygge plattformuavhengige stier.
Oppsummering
I denne episoden lærte vi:
-
Hvordan åpne, lese og skrive til tekstfiler.
-
Hvordan jobbe med CSV-filer for å behandle tabulære data.
-
Hvordan lese og skrive JSON-filer for å jobbe med strukturert data.
-
Hvor viktig det er å jobbe sikkert med filbehandling.
Oppgaver
-
Lag et program som leser fra en tekstfil, endrer noen av linjene, og lagrer dem til en ny fil.
-
Les data fra en CSV-fil, og skriv dem ut i et tabellformat.
-
Lagre et Python-objekt som JSON, og les det inn igjen for å sjekke om det er riktig formatert.
-
Reflekter over hvordan filbehandling kan brukes i større prosjekter – for eksempel for å lagre brukerinformasjon eller konfigurasjonsdata.
Neste episode
I neste episode skal vi dykke dypere inn i feilhåndtering og unntak i Python. Vi skal lære om try, except, og finally, samt hvordan vi kan skrive robust kode som håndterer uventede situasjoner.
🎧 Hold deg oppdatert – Abonner på podcasten for flere episoder, og få innsikt i hvordan du kan bruke Python på en sikker og effektiv måte! 🎙️
Takk for at du lyttet, og vi sees i neste episode! 🎉