Hvordan lese og skrive filer i Python

Å lese fra og skrive til filer er en vanlig oppgave i programmering, og Python gjør det enkelt med sine innebygde filhåndteringsmuligheter. Å forstå hvordan du jobber med filer er avgjørende for enhver Python-programmerer, siden det lar deg håndtere datalagring, logging, konfigurasjonsadministrasjon og mer. Denne veiledningen vil dekke hvordan du åpner, leser, skriver og lukker filer i Python, samt hvordan du håndterer forskjellige filmoduser.

Åpne og lukke filer

I Python bruker du funksjonen open() for å åpne en fil. open()-funksjonen returnerer et filobjekt, som gir metoder for lesing og skriving. Det er viktig å lukke en fil etter at du er ferdig med den ved å bruke close()-metoden for å frigjøre systemressurser.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Leser filer

Det er flere måter å lese innholdet i en fil i Python, avhengig av dine behov:

Les hele filen

read()-metoden leser hele innholdet i filen i en enkelt streng.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Les linjer i en fil

readline()-metoden leser én linje fra filen, mens readlines() leser alle linjer og returnerer dem som en liste.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Lese filer linje for linje

Den foretrukne metoden for å lese en fil linje for linje er å bruke en for-løkke direkte på filobjektet. Denne tilnærmingen er minneeffektiv, spesielt for store filer.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Skrive til filer

Python lar deg skrive til filer ved å bruke metodene write() og writelines(). Du må åpne filen i en modus som støtter skriving, for eksempel 'w' (skriv) eller 'a' (legg ved).

Skrive til en fil

write()-metoden skriver en enkelt streng til en fil. Åpning av en fil i skrivemodus 'w' vil opprette en ny fil eller overskrive en eksisterende fil.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Legger til en fil

Åpne en fil i tilleggsmodus 'a' lar deg legge til innhold på slutten av en eksisterende fil uten å overskrive innholdet.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Skrive flere linjer

writelines()-metoden brukes til å skrive flere linjer til en fil. Den forventer en liste over strenger, som hver representerer en linje.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Filmoduser

Pythons open()-funksjon støtter flere moduser for å åpne filer:

  • 'r' - Lesemodus (standard). Åpner en fil for lesing.
  • 'w' - Skrivemodus. Åpner en fil for skriving (oppretter en ny fil eller avkorter en eksisterende fil).
  • 'a' - Legg til modus. Åpner en fil for å legge til (oppretter en ny fil hvis den ikke eksisterer).
  • 'r+' - Lese- og skrivemodus. Åpner en fil for både lesing og skriving.
  • 'b' - Binær modus. Åpner en fil i binær modus (brukes med 'rb', 'wb', etc.).

Konklusjon

Å lese fra og skrive til filer i Python er enkelt når du forstår de grunnleggende konseptene og filmodusene. Ved å mestre filhåndtering kan du effektivt administrere data, håndtere brukerinndata/utdata og automatisere oppgaver som involverer filoperasjoner. Øv deg på å bruke disse teknikkene for å bli dyktig i filbehandling i Python.