Wie kann ich innerhalb dieses Moduls einen Verweis auf ein Modul erhalten? Wie kann ich auch einen Verweis auf das Paket erhalten, das dieses Modul enthält?
python
self-reference
Ram Rachum
quelle
quelle
Antworten:
quelle
Eine weitere Technik, die das sys-Modul nicht importiert und wohl - je nach Geschmack - einfacher ist:
Beachten Sie, dass kein Import erfolgt. Python importiert jedes Modul nur einmal.
quelle
Wenn Sie eine Klasse in diesem Modul haben, ist die
__module__
Eigenschaft der Klasse der Modulname der Klasse. So können Sie über auf das Modul zugreifensys.modules[klass.__module__]
. Dies funktioniert auch für Funktionen.quelle
__module__
Eigenschaft (zumindest) für eine Funktion kein Modul, sondern eine Zeichenfolge zu sein. also eininspect.getabsfile(func.__module__)
irgendwie „ Typeerror:‚o‘ist kein Modul, Klassen-, Methoden-, Funktion, Zurückverfolgungs, Rahmen oder Codeobjekt “; währendinspect.getabsfile(sys.modules[o.__module__])
scheint zu vergehen.Sie können den Namen des aktuellen Moduls mit abrufen
__name__
Die Modulreferenz finden Sie im
sys.modules
Wörterbuch.Siehe die Python- Dokumentation
quelle
Sie können es von außen weitergeben:
Nicht ideal, aber es funktioniert für meinen aktuellen Anwendungsfall.
quelle