So verhindern Sie, dass Python beim Import Code ausführt
Sie haben ein Python-Programm implementiert, das zwei Ausführungsmethoden ermöglicht: eine interaktive Modus mit Benutzereingaben (main.py) und ein Batch-Modus, der Eingaben aus einer Datei verarbeitet (batch.py). Das Importieren von main.py in batch.py löst jedoch die Ausführung von Code in main.py aus, was zu Fehlern führt.
Grund:
In Python sind Schlüsselwörter wie class und def stellen Anweisungen dar, die ausgeführt werden, wenn sie angetroffen werden. Bei diesen Anweisungen handelt es sich nicht um bloße Deklarationen, sondern um aktive Anweisungen, ein Designmerkmal, das die Existenz von Inhalten in Ihrem Modul sicherstellt.
Lösung:
Der Pythonic-Ansatz zur Lösung dieses Problems besteht darin, die folgende Struktur zu übernehmen:
# Place any code that should run regardless of execution mode here (e.g., class/def) def main(): pass if __name__ == "__main__": # Code that is only executed when called as "python main.py" main()
Bei diesem Ansatz wird Code, der außerhalb der Hauptfunktion platziert wird, trotzdem ausgeführt davon, wie das Skript aufgerufen wird (direkt oder durch Import). Code innerhalb der Funktion main wird nur ausgeführt, wenn das Skript direkt ausgeführt wird (python main.py).
Das obige ist der detaillierte Inhalt vonWie verhindert man die Ausführung von Python-Code während des Modulimports?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!