Python:
Skrive en tekstfil

Hvordan:

Bruk av innebygd open()-funksjon

Pythons innebygde open()-funksjon er den vanligste måten å skrive til filer på. Funksjonen tillater spesifisering av modusen som filen åpnes i - ‘w’ for skriving (overskriving), ‘a’ for tilføyelse, og ‘w+’ for skrive+lese.

# Skrive til en ny fil eller erstatte en eksisterende fil
with open('example.txt', 'w') as file:
    file.write("Hello, World!\n")

# Legge til i en fil
with open('example.txt', 'a') as file:
    file.write("Appenderer mer tekst.\n")

# Lese filen for å verifisere
with open('example.txt', 'r') as file:
    print(file.read())

Eksempel på utdata:

Hello, World!
Appenderer mer tekst.

Bruk av pathlib.Path

For en mer objektorientert tilnærming tilbyr Path-klassen fra pathlib-modulen en metode for å skrive til filer. Dette er en populær metode for nyere Python-kodebaser.

from pathlib import Path

# Skrive/Erstatte en fil
Path('example2.txt').write_text("Dette er eksempel 2.\n")

# Lese filen for å verifisere
print(Path('example2.txt').read_text())

# Merk: `Path.write_text` overskriver alltid filinnholdet. 
# For å legge til, må du åpne filen som vist i forrige seksjon.

Eksempel på utdata:

Dette er eksempel 2.

Tredjepartsbiblioteker

For komplekse filoperasjoner kan tredjepartsbiblioteker som pandas (for CSV, Excel-filer) være en stor hjelp. Her er et raskt eksempel på å skrive en DataFrame til en CSV-fil ved hjelp av pandas, som demonstrerer dens nytte utover enkle tekstfiler.

# Dette eksemplet krever pandas: pip install pandas
import pandas as pd

# Opprette en enkel DataFrame
data = pd.DataFrame({'Column1': [1, 2, 3], 'Column2': ['A', 'B', 'C']})

# Skrive DataFrame til en CSV-fil
data.to_csv('example.csv', index=False)

# Lese CSV-en for å verifisere
print(pd.read_csv('example.csv'))

Eksempel på utdata:

   Column1 Column2
0        1       A
1        2       B
2        3       C

Ved å bruke disse metodene kan Python-programmerere effektivt håndtere filoperasjoner, og imøtekomme både enkle og komplekse datahåndteringsbehov.