Ich habe ein Modul mit dem üblichen
%Vor%Idiom.
Ich möchte das von einem anderen Modul importieren und es dazu bringen, diesen Code auszuführen. Gibt es eine Möglichkeit, dies zu tun?
Ich sollte erwähnen, dass ich aus Gründen, auf die ich hier nicht eingehen werde, den Code im importierten Modul nicht ändern kann. Ich muss das Importverfahren irgendwie ändern, so dass sein Name beim Importieren wichtig ist, vielleicht mit Ihooks oder ähnlichem.
Das Skript wird ausgeführt, statt es zu importieren. Aber ich halte das für eine extrem haschische Lösung.
Das ideale Muster wäre jedoch:
%Vor%So können Sie tun:
%Vor%BEARBEITEN : Beantworten Sie nach der Klärung, dass der Modulcode nicht bearbeitet werden kann.
Ich würde dies in keinem Produktionscode empfehlen, dies ist eine "Verwendung auf eigene Gefahr" -Lösung.
%Vor%Fügen Sie diesen Code in eine Funktion ein und rufen Sie ihn auch von dem Modul auf, in das Sie ihn importieren.
%Vor%Und dann importieren Sie es in das Modul:
%Vor% Code in einer Hauptgruppe ist normalerweise nie sinnvoll, um direkt zu laufen. Wenn Sie es ausführen möchten, verwenden Sie subprocess
, um es in einem anderen Python-Interpreter auszuführen.
Hier ist ein Beispiel für ein Hauptmodul in Python:
%Vor%Sie können jedoch auch
einschließen %Vor%in jedem Modul, das Sie als Hauptprogramm ausführen möchten.
Wenn Sie beispielsweise ein Bibliotheksmodul haben, können Sie dieses Konstrukt immer verwenden, um bestimmte Tests durchzuführen.
Tags und Links python