Python Academy · Lektion

Läsa och skriva filer

Använd read_text och write_text

Lektion 2 av 413 steg

Läsa och skriva filer är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 4 lektioner.

Filinläsning och filskrivning med pathlib

Sökvägar i pathlib kan läsa och skriva filer direkt, utan ett explicit open() i enkla fall. Metoderna read_text, write_text, read_bytes och write_bytes täcker de vanligaste behoven.

write_text

write_text() skriver en sträng till filen, skapar den om det behövs och ersätter allt befintligt innehåll. Den returnerar antalet skrivna tecken.

from pathlib import Path

p = Path('greeting.txt')
n = p.write_text('Hello, pathlib!')
print('wrote', n, 'characters')

read_text

read_text() öppnar filen, läser hela innehållet och stänger den, och returnerar innehållet som en sträng.

from pathlib import Path

p = Path('greeting.txt')
p.write_text('Hello, pathlib!')
content = p.read_text()
print(content)

Ingen manuell stängning behövs

Dessa hjälpmetoder öppnar och stänger filen åt dig, så du slipper standardkoden i ett with open(...)-block vid engångsläsning och engångsskrivning.

from pathlib import Path

p = Path('notes.txt')
p.write_text('line one')
print(p.read_text())

Ange teckenkodning

Skicka med ett argumentet encoding för att styra textens teckenkodning. UTF-8 är ett säkert och tydligt val för portabilitet.

from pathlib import Path

p = Path('uni.txt')
p.write_text('cafe resume', encoding='utf-8')
print(p.read_text(encoding='utf-8'))

Arbeta med byte

Använd write_bytes() och read_bytes() för binärdata. De arbetar med bytes-objekt i stället för strängar.

from pathlib import Path

p = Path('data.bin')
p.write_bytes(b'\x00\x01\x02')
print(p.read_bytes())

Lägga till och avancerade lägen

Engångsmetoderna skriver alltid över befintligt innehåll. För att lägga till innehåll eller strömma data anropar du open() på Path-objektet för att få ett vanligt filobjekt som kan användas i ett with-block.

from pathlib import Path

p = Path('log.txt')
p.write_text('start\n')
with p.open('a') as f:
    f.write('more\n')
print(p.read_text())

Läsa rad för rad

Läs all text och dela sedan upp den i rader, eller öppna sökvägen och iterera över den. Att dela resultatet från read_text() är enklast för små filer.

from pathlib import Path

p = Path('multi.txt')
p.write_text('a\nb\nc\n')
for line in p.read_text().splitlines():
    print('line:', line)

Skapa överordnade kataloger

Skrivning misslyckas om den överordnade katalogen inte finns. Använd först mkdir(parents=True, exist_ok=True) på den överordnade katalogen för att skapa hela katalogträdet.

from pathlib import Path

p = Path('out/sub/file.txt')
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text('done')
print(p.read_text())

Ta bort filer

Ta bort en fil med unlink(). Om du skickar med missing_ok=True undviker du ett fel om filen redan är borta.

from pathlib import Path

p = Path('temp.txt')
p.write_text('bye')
print(p.exists())
p.unlink(missing_ok=True)
print(p.exists())

Läs, omvandla, skriv

Ett vanligt mönster är att läsa en fil, omvandla texten och skriva tillbaka den. pathlib gör detta till en tydlig operation på tre rader.

from pathlib import Path

p = Path('caps.txt')
p.write_text('hello world')
p.write_text(p.read_text().upper())
print(p.read_text())

Snabbkontroll

Vad gör Path('a.txt').write_text('hi') om filen redan finns?

Sammanfattning

Du har lärt dig att läsa och skriva filer med pathlib.

  • write_text/read_text hanterar strängbaserad inläsning och skrivning av hela filer.
  • write_bytes/read_bytes hanterar binärdata.
  • Använd open() för att lägga till innehåll eller strömma data.
  • Skapa överordnade kataloger med mkdir och ta bort filer med unlink.
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Läsa och skriva filer” gratis?

Ja – hela texten till ”Läsa och skriva filer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Läsa och skriva filer”?

Använd read_text och write_text Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Läsa och skriva filer”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Path-objektet
  2. Läsa och skriva filer
  3. Globbing och iteration
  4. Sökvägsbearbetning
← Tillbaka till Python Academy