Python Ein weiteres Python-Skript ausführen
-
Verwenden Sie die Anweisung
import
, um ein Python-Skript in einem anderen Python-Skript auszuführen -
Verwenden Sie die Methode
execfile()
, um ein Python-Skript in einem anderen Python-Skript auszuführen -
Verwenden Sie das Modul
subprocess
, um ein Python-Skript in einem anderen Python-Skript auszuführen
Eine einfache Textdatei, die Python-Code enthält, der direkt vom Client ausgeführt werden soll, wird normalerweise als Skript bezeichnet, das offiziell als Programmdatei der obersten Ebene bekannt ist.
Skripte sollen direkt in Python ausgeführt werden. Das Erlernen der Ausführung von Skripten und Code ist eine grundlegende Fähigkeit, um in der Welt der Python-Programmierung zu lernen. Python-Skripte haben normalerweise die Erweiterung '.py'
. Wenn das Skript auf einem Windows-Rechner ausgeführt wird, hat es möglicherweise die Erweiterung .pyw
.
In diesem Tutorial werden verschiedene Methoden zum Ausführen eines Python-Skripts in einem anderen Python-Skript erläutert.
Verwenden Sie die Anweisung import
, um ein Python-Skript in einem anderen Python-Skript auszuführen
Die Anweisung import
wird verwendet, um mehrere Module in den Python-Code zu importieren. Es wird verwendet, um Zugriff auf einen bestimmten Code von einem Modul zu erhalten. Diese Methode verwendet die Anweisung import
, um das Skript in den Python-Code zu importieren und als Modul zu verwenden. Module können als Datei definiert werden, die Python-Definitionen und -Anweisungen enthält.
Der folgende Code verwendet die Anweisung import
, um ein Python-Skript in einem anderen Python-Skript auszuführen.
Script1.py
:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Ausgabe:
Function 1 is active
Script2.py
:
import Script1.py
def func2():
print("Function 2 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func2()
Script1.func1()
Ausgabe:
Function 2 is active
Function 1 is active
Verwenden Sie die Methode execfile()
, um ein Python-Skript in einem anderen Python-Skript auszuführen
Die Funktion execfile()
führt die gewünschte Datei im Interpreter aus. Diese Funktion funktioniert nur in Python 2. In Python 3 wurde die Funktion execfile()
entfernt, aber dasselbe kann in Python 3 mit der Methode exec()
erreicht werden.
Der folgende Code verwendet die Funktion execfile()
, um ein Python-Skript in einem anderen Python-Skript auszuführen.
Script2.py
:
# Python 2 code
execfile("Script1.py")
Ausgabe:
Function 1 is active
Das gleiche kann in Python 3 getan werden, indem man Folgendes verwendet:
Script2.py
:
exec(open("Script1.py").read())
Ausgabe:
Function 1 is active
Verwenden Sie das Modul subprocess
, um ein Python-Skript in einem anderen Python-Skript auszuführen
Das Modul subprocess
ist in der Lage, neue Prozesse zu erzeugen und auch deren Ausgaben zurückzugeben. Dies ist ein neues Modul und soll mehrere ältere Module wie os.system
ersetzen, mit denen früher ein Python-Skript in einem anderen Python-Skript ausgeführt wurde.
Der folgende Code verwendet das Modul subprocess
, um ein Python-Skript in einem anderen Python-Skript auszuführen.
Script1.py
:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Script2.py
:
import subprocess
subprocess.call("Script1.py", shell=True)
Ausgabe:
Function 1 is active
Obwohl alle drei Methoden gut funktionieren, hat diese Methode einen Vorteil gegenüber den anderen beiden Methoden. Das Bearbeiten eines vorhandenen Python-Skripts und das Einfügen des gesamten darin enthaltenen Codes in eine Unterroutine ist bei dieser Methode nicht erforderlich.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn