Heim >Backend-Entwicklung >Python-Tutorial >Wie verhindert man die Ausführung von Python-Code während des Modulimports?

Wie verhindert man die Ausführung von Python-Code während des Modulimports?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 20:09:11190Durchsuche

How to Prevent Python Code Execution During Module Import?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn