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:

  1. Hvordan skrive tester med unittest.

  2. Bruken av assert for å verifisere at programmet ditt fungerer riktig.

  3. Bruken av pdb for å debugge koden steg for steg.

  4. Mocking for å simulere eksterne ressurser i tester.


Dagens agenda

  1. Hva er filbehandling?

  2. Hvordan åpne, lese fra og skrive til filer.

  3. Jobbe med CSV-filer – håndtering av tabulære data.

  4. Jobbe med JSON-filer – jobbe med strukturert data.

  5. 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:

  1. Unngå å åpne ukjente filer som kan inneholde skadelig programvare.

  2. Bruk riktige tilgangsnivåer når du åpner filer. For eksempel bør du ikke bruke 'w' på en viktig systemfil.

  3. Sikkerhetskopier filer før du endrer dem, spesielt hvis de inneholder sensitive data.

  4. Unngå hardkoding av filstier, og bruk os.path for å bygge plattformuavhengige stier.


Oppsummering

I denne episoden lærte vi:

  1. Hvordan åpne, lese og skrive til tekstfiler.

  2. Hvordan jobbe med CSV-filer for å behandle tabulære data.

  3. Hvordan lese og skrive JSON-filer for å jobbe med strukturert data.

  4. Hvor viktig det er å jobbe sikkert med filbehandling.


Oppgaver

  1. Lag et program som leser fra en tekstfil, endrer noen av linjene, og lagrer dem til en ny fil.

  2. Les data fra en CSV-fil, og skriv dem ut i et tabellformat.

  3. Lagre et Python-objekt som JSON, og les det inn igjen for å sjekke om det er riktig formatert.

  4. 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! 🎉