Artikelverzeichnis
In Python ist ein Kontextmanager (Context Manager) ein Objekt zum Verwalten von Ressourcen. Es ermöglicht uns, bestimmte Vorgänge beim Ein- und Austritt von Codeblöcken durchzuführen, z. B. die Beschaffung und Freigabe von Ressourcen. Kontextmanager werden häufig zur Verwaltung von Ressourcen wie Dateien, Netzwerkverbindungen und Datenbankverbindungen verwendet, um sicherzustellen, dass Ressourcen nach der Verwendung korrekt freigegeben werden können, wodurch Ressourcenlecks und Fehler vermieden werden.
Kontextmanager werden durch Definition __enter__()
und __exit__()
Methoden implementiert. Beim Betreten eines Codeblocks __enter__()
wird die Methode aufgerufen, um Ressourcen abzurufen oder notwendige Initialisierungsvorgänge durchzuführen; und wenn der Codeblock beendet wird, __exit__()
wird die Methode aufgerufen, um Ressourcenfreigabe- oder Bereinigungsvorgänge durchzuführen.
Python bietet zwei Möglichkeiten, Kontextmanager zu verwenden: die Verwendung with
der Anweisung und die Verwendung contextlib
der Dekoratoren des Moduls.