Läsa och skriva filer
Använd read_text och write_text
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_texthanterar strängbaserad inläsning och skrivning av hela filer.write_bytes/read_byteshanterar binärdata.- Använd
open()för att lägga till innehåll eller strömma data. - Skapa överordnade kataloger med
mkdiroch ta bort filer medunlink.
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
- Path-objektet
- Läsa och skriva filer
- Globbing och iteration
- Sökvägsbearbetning