Använda with-satsen för filer
Se till att filer stängs automatiskt med hjälp av kontexthanterare.
Använda with-satsen för filer är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 3 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.
Introduktion
with-satsen
# with open('data.txt') as f:
# content = f.read()
# f is now closed
print('with demo')Varför with är bättre än try/finally
# Equivalent to:
# f = open('file.txt')
# try:
# content = f.read()
# finally:
# f.close()
print('comparison demo')Flera filer
# with open('in.txt') as src, open('out.txt','w') as dst:
# for line in src:
# dst.write(line.upper())
print('multi-file demo')Protokollet för kontexthanterare
# f.__enter__() opens
# f.__exit__() closes
print('protocol demo')Läsa och bearbeta
lines = [' hello \n', ' world \n']
cleaned = [l.strip() for l in lines if l.strip()]
print(cleaned)Skriva med with
# with open('out.txt', 'w') as f:
# for i in range(10):
# f.write(f'{i}\n')
print('write with demo')Kontrollera om en fil finns
import os
print(os.path.exists('/tmp'))
print(os.path.exists('/nonexistent'))Fel från open()
try:
with open('/nonexistent.txt') as f:
pass
except FileNotFoundError as e:
print('File not found:', e)StringIO för filer i minnet
from io import StringIO
buf = StringIO('line1\nline2\n')
for line in buf:
print(line.rstrip())Modulen tempfile
import tempfile
with tempfile.NamedTemporaryFile(mode='w', suffix='.txt', delete=True) as f:
f.write('temp data')
print(f.name)Snabb kontroll
Sammanfattning
Fortsätt
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 ”Använda with-satsen för filer” gratis?
Ja – hela texten till ”Använda with-satsen för 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 ”Använda with-satsen för filer”?
Se till att filer stängs automatiskt med hjälp av kontexthanterare. 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 3 av 4.
Hur lång tid tar lektionen ”Använda with-satsen för 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
- Öppna och läsa filer
- Skriva till och lägga till i filer
- Använda with-satsen för filer
- Arbeta med filsökvägar med pathlib