Ausführen von Python-Skripten aus anderen Python-Skripten mit Argumenten
In Python besteht häufig die Notwendigkeit, ein externes Skript mit bestimmten Parametern oder Argumenten auszuführen . Während die Stack Overflow-Frage 1186789 dieses Problem teilweise durch den Aufruf einer einzelnen Funktion behebt, ist sie nicht auf die Ausführung vollständiger Skripte ausgerichtet. Darüber hinaus ermöglicht der in der Frage erwähnte Execfile-Ansatz keine ordnungsgemäße Variablenübergabe, da sys.argv im Zielskript unverändert bleibt.
Um dies zu beheben, wird die Verwendung von os.system empfohlen:
<code class="python">import os os.system("script2.py 1")</code>
Die Funktion os.system bietet eine praktische Möglichkeit, einen externen Befehl aus einem Python-Skript heraus auszuführen. Im obigen Beispiel wird das Skript script2.py mit dem Argument 1 gestartet.
Der Hauptunterschied zwischen os.system und execfile liegt in ihren jeweiligen Kontexten. execfile führt Code innerhalb der aktuellen Ausführungsumgebung aus, wodurch verhindert wird, dass sys.argv aktualisiert wird. Umgekehrt erstellt os.system einen neuen Prozess zum Ausführen des Skripts und stellt so sicher, dass die beabsichtigten Argumente korrekt übergeben werden.
Durch den Einsatz von os.system können Sie externe Skripts nahtlos mit angegebenen Parametern ausführen, ohne dass Änderungen daran erforderlich sind Zielskript.
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Skripte mit Argumenten aus einem anderen Python-Skript ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!