Ein Context Manager ist ein Objekt, das Setup- und Teardown-Logik definiert und mit der with-Anweisung verwendet wird. Es garantiert, dass das Cleanup (Schließen von Dateien, Freigeben von Sperren, Rollback von Transaktionen) automatisch erfolgt — auch wenn ein Fehler auftritt.
Das Problem, das es löst
f = ()
data = f.read()
process(data)
f.close()
() f:
data = f.read()
process(data)
