Sådan læser og skriver du filer i Python

At læse fra og skrive til filer er en almindelig opgave i programmering, og Python gør det nemt med dens indbyggede filhåndteringsfunktioner. At forstå, hvordan man arbejder med filer, er afgørende for enhver Python-programmør, da det giver dig mulighed for at håndtere datalagring, logning, konfigurationsstyring og mere. Denne guide vil dække, hvordan man åbner, læser, skriver og lukker filer i Python, samt hvordan man håndterer forskellige filtilstande.

Åbning og lukning af filer

I Python bruger du open()-funktionen til at åbne en fil. Funktionen open() returnerer et filobjekt, som giver metoder til læsning og skrivning. Det er vigtigt at lukke en fil, når du er færdig med den ved at bruge close() metoden for at frigøre systemressourcer.

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

Læser filer

Der er flere måder at læse indholdet af en fil i Python, afhængigt af dine behov:

Læs hele filen

read()-metoden læser hele indholdet af filen i en enkelt streng.

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

Læs linjer i en fil

readline()-metoden læser én linje fra filen, mens readlines() læser 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())

Læsning af filer linje for linje

Den foretrukne metode til at læse en fil linje for linje er at bruge en for loop direkte på filobjektet. Denne tilgang er hukommelseseffektiv, især 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())

Skrivning til filer

Python giver dig mulighed for at skrive til filer ved hjælp af write() og writelines() metoderne. Du skal åbne filen i en tilstand, der understøtter skrivning, såsom 'w' (skriv) eller 'a' (tilføj).

Skrivning til en fil

write()-metoden skriver en enkelt streng til en fil. Åbning af en fil i skrivetilstand 'w' vil oprette 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.")

Tilføjelse til en fil

Åbning af en fil i tilføjelsestilstand 'a' giver dig mulighed for at tilføje indhold til slutningen af ​​en eksisterende fil uden at overskrive dens indhold.

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

At skrive flere linjer

Metoden writelines() bruges til at skrive flere linjer til en fil. Den forventer en liste over strenge, der hver repræsenterer 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)

Filtilstande

Pythons open()-funktion understøtter flere tilstande til åbning af filer:

  • 'r' - Læsetilstand (standard). Åbner en fil til læsning.
  • 'w' - Skrivetilstand. Åbner en fil til skrivning (opretter en ny fil eller afkorter en eksisterende fil).
  • 'a' - Tilføj tilstand. Åbner en fil til tilføjelse (opretter en ny fil, hvis den ikke findes).
  • 'r+' - Læse- og skrivetilstand. Åbner en fil til både læsning og skrivning.
  • 'b' - Binær tilstand. Åbner en fil i binær tilstand (bruges med 'rb', 'wb' osv.).

Konklusion

At læse fra og skrive til filer i Python er ligetil, når du først forstår de grundlæggende begreber og filtilstande. Ved at mestre filhåndtering kan du effektivt administrere data, håndtere brugerinput/output og automatisere opgaver, der involverer filhandlinger. Øv dig i at bruge disse teknikker for at blive dygtig til filhåndtering i Python.