Reiniciar el script en Python

Muhammad Waiz Khan 13 julio 2021
Reiniciar el script en Python

En este tutorial, veremos el método para reiniciar o volver a ejecutar el programa en Python. Supongamos que queremos agregar la funcionalidad a nuestro programa para reiniciar cuando el usuario elige la opción de reinicio; necesitamos algún método para volver a ejecutar el programa desde dentro del programa.

Este tutorial demostrará el método que podemos usar para reiniciar el programa desde dentro del programa y eliminar la instancia actual del programa en Python. Podemos hacerlo utilizando los siguientes métodos.

Reinicie el script del programa en Python usando la función os.execv()

La función os.execv(path, args) ejecuta el nuevo programa reemplazando el proceso. No vacía los búferes, los objetos de archivo y los descriptores, por lo que el usuario debe almacenarlos en búfer por separado antes de llamar a la función os.execv(). La función os.execv() no requiere el parámetro path para localizar el programa ejecutable.

Por lo tanto, para reiniciar un programa usando la función os.execv(), primero necesitamos vaciar los búferes y descriptores de archivos usando los métodos sys.stdout.flush() y file.flush() y luego llamar el método os.execv(). Vea el código de ejemplo a continuación.

import os
import sys

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