7 Stimmen

Wie kann ich erreichen, dass "import x" eine Unterklasse von types.ModuleType zurückgibt?

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 .

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