Bei der Ausgabe von inspect.stack()
, ist es möglich, die Funktionsobjekte von irgendwo aus dem Stack-Frame zu holen und diese aufzurufen? Wenn das so ist, wie?Bezugnahmen auf Funktionsobjekte auf dem Ausführungsstapel vom Rahmenobjekt erhalten?
(ich weiß schon, wie die Namen der Funktionen zu erhalten.)
Hier ist, was ich hinaus will: Lassen Sie uns sagen, ich bin eine Funktion, und ich versuche mein Anrufer zu bestimmen, ob ein ist Generator oder eine regelmäßige Funktion? Ich muss inspect.isgeneratorfunction()
auf dem Funktionsobjekt aufrufen. Und wie findest du heraus, wer dich angerufen hat? inspect.stack()
, richtig? Wenn ich das irgendwie zusammenstellen kann, habe ich die Antwort auf meine Frage. Vielleicht gibt es einen einfacheren Weg, dies zu tun?
Warum würden Sie nach Funktionen im Stack-Frame suchen und nicht nach dem Namespace? Zum Debuggen? –