Redémarrer le script en Python

Muhammad Waiz Khan 25 avril 2021
Redémarrer le script en Python

Dans ce tutoriel, nous examinerons la méthode pour redémarrer ou réexécuter le programme en Python. Supposons que nous voulions ajouter la fonctionnalité à notre programme pour redémarrer lorsque l’utilisateur choisit l’option de redémarrage; nous avons besoin d’une méthode pour réexécuter le programme à partir du programme.

Ce didacticiel montrera la méthode que nous pouvons utiliser pour redémarrer le programme à partir du programme et tuer l’instance actuelle du programme en Python. Nous pouvons le faire en utilisant les méthodes suivantes.

Redémarrez le script du programme en Python à l’aide de la fonction os.execv()

La fonction os.execv(path, args) exécute le nouveau programme en remplaçant le processus. Il ne vide pas les tampons, les objets fichier et les descripteurs, donc l’utilisateur doit les tamponner séparément avant d’appeler la fonction os.execv(). La fonction os.execv() ne nécessite pas le paramètre path pour localiser le programme exécutable.

Par conséquent, pour redémarrer un programme en utilisant la fonction os.execv(), il faut d’abord vider les tampons et les descripteurs de fichiers à l’aide des méthodes sys.stdout.flush() et file.flush() puis appeler la méthode os.execv(). Consultez l’exemple de code ci-dessous.

import os
import sys

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