Sagen Sie, dass in der Python-Shell (IDLE) habe ich einige Klassen, Funktionen, Variablen definiert. Auch erstellte Objekte der Klassen. Dann löschte ich einige der Objekte und erstellte einige andere. Wie kann ich zu einem späteren Zeitpunkt erfahren, welche aktiven Objekte, Variablen und Methodendefinitionen im Speicher aktiv sind?Wie bekomme ich die Liste aller initialisierten Objekte und Funktionsdefinitionen in Python?
26
A
Antwort
31
Ja.
>>> import gc
>>> gc.get_objects()
Nicht dass Sie das nützlich finden. Es gibt eine Los von ihnen. :-) Über 4000, wenn du Python startest.
Möglicherweise ein bisschen mehr nützlich ist, alle Variablen aktiv lokal:
>>> locals()
Und die eine aktive global:
>>> globals()
(Beachten Sie, dass "global" in Python nicht wirklich global als solche.Für diese benötigen Sie die gc.get_objects()
oben, und dass Sie wahrscheinlich nie nützlich finden werden, wie erwähnt).
4
Versuchen globals()
Danke. Genau das, was ich wollte. Aber 'gc.get_objects()' gibt einen riesigen Dump. 'localings()' und 'globals()' geht es gut. – boring
Rechts. get_objects geben was Sie gefragt haben, local() und globals() was Sie wollten. ;-) –