Hvorfor er det tryggere å bruke `with open("data.txt") as f:` enn å skrive `f = open("data.txt")` etterfulgt av `f.close()`?
Klikk for å snu kortet
`with`-setningen oppretter en kontekstmanager som garanterer at filen lukkes automatisk når blokken avsluttes – også hvis det oppstår en feil (exception) midt i koden. Med manuell `open()`/`close()` vil et unntak før `f.close()` føre til at filen aldri lukkes, slik at filhåndtaket lekker og data kanskje ikke skrives til disk (buffer ikke tømmes). `with` kaller filens `__exit__`-metode uansett om blokken avsluttes normalt eller med feil, så man slipper å skrive try/finally selv.
Space / Enter for å snu