Starten Sie das Skript in Python neu

Muhammad Waiz Khan 30 März 2021
Starten Sie das Skript in Python neu

In diesem Tutorial untersuchen wir die Methode zum Neustarten oder erneuten Ausführen des Programms in Python. Angenommen, wir möchten unserem Programm die Funktionalität zum Neustart hinzufügen, wenn der Benutzer die Neustartoption wählt. Wir brauchen eine Methode, um das Programm innerhalb des Programms erneut auszuführen.

Dieses Tutorial zeigt die Methode, mit der wir das Programm innerhalb des Programms neu starten und die aktuelle Instanz des Programms in Python beenden können. Wir können dies mit den folgenden Methoden tun.

Starten Sie das Programmskript in Python mit der Funktion os.execv() neu

Die Funktion os.execv(path, args) führt das neue Programm aus, indem sie den Prozess ersetzt. Die Puffer, Dateiobjekte und Deskriptoren werden nicht geleert, daher muss der Benutzer sie separat puffern, bevor er die Funktion os.execv() aufruft. Die Funktion os.execv() benötigt nicht den Parameter path, um das ausführbare Programm zu finden.

Um ein Programm mit der Funktion os.execv() neu zu starten, müssen wir daher zuerst die Puffer und Dateideskriptoren mit den Methoden sys.stdout.flush() und file.flush() leeren und dann aufrufen die Methode os.execv(). Siehe den folgenden Beispielcode.

import os
import sys

sys.stdout.flush()
os.execv(sys.argv[0], sys.argv)