417 Stimmen

Wie kann ich eine Liste aller Klassen im aktuellen Modul in Python erhalten?

Ich habe viele Beispiele von Leuten gesehen, die alle Klassen aus einem Modul extrahiert haben, normalerweise etwas wie:

# foo.py
class Foo:
    pass

# test.py
import inspect
import foo

for name, obj in inspect.getmembers(foo):
    if inspect.isclass(obj):
        print obj

Fantastisch.

Aber ich kann nicht herausfinden, wie ich alle Klassen aus dem aktuell Modul.

# foo.py
import inspect

class Foo:
    pass

def print_classes():
    for name, obj in inspect.getmembers(???): # what do I do here?
        if inspect.isclass(obj):
            print obj

# test.py
import foo

foo.print_classes()

Das ist wahrscheinlich etwas ganz Offensichtliches, aber ich habe nichts gefunden. Kann mir jemand weiterhelfen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X