contextmanager

Ein Python-Kontextmanager verwaltet den Kontext einer With-Anweisung. Ein Kontextmanager definiert Eingabe- und Beendigungs-Hooks, die aufgerufen werden, wenn der Codeblock unter der with-Anweisung eingegeben bzw. verlassen wird.
2
Antworten

Python: Standardfunktion und Kontextmanager?

In Python gibt es viele Funktionen, die sowohl als Standardfunktionen als auch als Kontextmanager funktionieren. Zum Beispiel kann open() entweder wie folgt aufgerufen werden: %Vor% oder %Vor% Beide geben Ihnen ein Objekt my_file ,...
11.02.2016, 21:59
1
Antwort

python: Sudokontext-Manager?

Gibt es eine Möglichkeit, einen sudo -Kontextmanager zu implementieren, der den umschließenden Bereich als einen anderen Benutzer ausführt, indem er das sudoers-System verwendet? %Vor% Ich bezweifle, dass die sudo(8) ausführbare Datei...
12.03.2014, 07:02
4
Antworten

Python-Timeout-Kontextmanager mit Threads

Ich habe timeout context manager, das perfekt mit Signalen funktioniert, aber es erhöht den Fehler im Multithread-Modus, da Signale nur im Haupt-Thread funktionieren. %Vor% Ich habe die Decorator-Implementierung von timeout gesehen, ab...
22.02.2013, 06:54
3
Antworten

Was ist der Python-Modus, um den Kontextmanager zu erben?

Python lehrt uns, Objekte mit __enter__ und __exit__ zu bereinigen. Was, wenn ich ein Objekt erstellen muss, das Objekte verwendet, müssen Kontextmanager verwenden? Stellen Sie sich folgendes vor: %Vor% Normalerweise würden sie als sol...
02.07.2015, 16:06
1
Antwort

Was passiert mit Exceptions, die in einem with-Statement-Ausdruck ausgelöst wurden?

Mein Verständnis von Pythons with Anweisung lautet wie folgt: with statement = with + ausdruck + as + ziel + : + anzug Ausdruck wird ausgeführt und gibt einen Kontextmanager zurück context manager __enter__ gib...
18.06.2015, 07:49
2
Antworten

__init__ vs __enter__ in Kontextmanagern

Soweit ich weiß, werden die Methoden __init__() und __enter__() des Kontextmanagers nacheinander genau einmal aufgerufen, so dass kein anderer Code dazwischen ausgeführt werden kann. Was ist der Zweck, sie in zwei Methoden zu trennen, und...
21.09.2016, 08:40