Kann Python's import
Anweisung geben eine Unterklasse von types.ModuleType
Importhaken verwenden? Ich möchte Folgendes außer Kraft setzen __getattribute__
um eine Laufzeitwarnung anzuzeigen, wenn Code außerhalb eines bestimmten Moduls auf Namen verweist, die nicht in __all__
.
Ich weiß, wie man die sys.modules['foo']
nachdem sie importiert worden ist. Ich möchte Module instrumentieren, die einem Muster entsprechen wie sie importiert werden damit der importierende Code die Möglichkeit hat, die Warnung auszulösen.
Python missbilligt die Idee, Dinge öffentlich und privat zu machen. Bei dieser Idee geht es nicht darum, die Benutzer Ihres Moduls an der Eingabe von from somemodule import sys
; stattdessen ist es ein Dokumentationsinstrument. Diese Art der Instrumentierung sollte es viel einfacher machen, die API Ihres Moduls zu dokumentieren, indem man eine korrekte __all__
. So können Sie vermeiden, dass Sie versehentlich auf Folgendes verweisen sys
como somemodule.sys
statt einfach import sys
.