-
Notifications
You must be signed in to change notification settings - Fork 2
PythonPodcast 11
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
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! 🎉
Ansvarsfraskrivelse:
Innholdet på denne wikisiden er generert helt eller delvis av kunstig intelligens (AI) og er ikke ment for informasjonsformål. Forfatteren fraskriver seg ethvert ansvar for nøyaktigheten, fullstendigheten eller påliteligheten av innholdet. Enhver handling du tar basert på informasjonen på denne siden er på eget ansvar og risiko.
Forfatteren fraskriver seg også ethvert ansvar for eventuelle likheter eller antydninger til likhet med annet publisert materiale. Enhver slik likhet er utilsiktet og uten ansvar. Det er leserens ansvar å gjennomføre plagiatkontroll og sikre at all bruk av innholdet fra denne siden er i samsvar med gjeldende regler og retningslinjer for opphavsrett og plagiering.
Det gis ingen garantier for at informasjonen på denne siden er i samsvar med gjeldende lover, regler eller retningslinjer. Leseren er selv ansvarlig for å verifisere nøyaktigheten og relevansen av informasjonen, og for å sikre korrekt kreditering av originale kilder.
Bruk av informasjonen på denne siden, inkludert risiko for plagiat eller brudd på opphavsrett, er på egen risiko.
Disklaimer 2
Alt innhold på denne plattformen er et resultat av en kreativ prosess som involverer både menneskelig input og generativ kunstig intelligens (AI). Tekstene er basert på bearbeidede prompts, og representerer en sammenslåing av publisistens tanker, ideer og AI-ens evne til å generere tekst.
Eventuelle likheter i rekkefølge, struktur, innhold, emnevalg, tematikk, avgrensninger eller oppstilling med annet materiale, enten kreditert eller ikke kreditert, publisert eller upublisert, er utilsiktet og tilfeldig.
Innholdet på denne plattformen er ikke ment å være en kilde til informasjon eller fakta, og skal ikke brukes som sådan. Dette er et eksperiment for å utforske potensialet og begrensningene ved generativ AI, både positive og negative, fordelaktige og ufordelaktige.
Vi oppfordrer leserne til å være kritiske og vurdere informasjonen i lys av dette. Vi tar ikke ansvar for eventuelle feil, unøyaktigheter eller misforståelser som kan oppstå som følge av bruk av innholdet på denne plattformen.
Disclaimer:
The information on this wiki page is generated entirely or partially by artificial intelligence (AI) and is not intended for informational purposes. The author disclaims any responsibility for the accuracy, completeness, or reliability of the content. Any action you take based on the information on this page is at your own responsibility and risk.
The author also disclaims any liability for any similarities or suggestions of similarity to other published material. Any such resemblance is unintentional and without liability. It is the reader's responsibility to conduct plagiarism checks and ensure that any use of the content from this page complies with applicable copyright and plagiarism rules and guidelines.
No guarantees are provided that the information on this page complies with applicable laws, rules, or guidelines. The reader is responsible for verifying the accuracy and relevance of the information and for ensuring proper crediting of original sources.
Use of the information on this page, including the risk of plagiarism or copyright infringement, is at your own risk.