Reinicie o script em Python

Muhammad Waiz Khan 30 março 2021
Reinicie o script em Python

Neste tutorial, examinaremos o método para reiniciar ou executar novamente o programa em Python. Suponha que desejamos adicionar a funcionalidade ao nosso programa para reiniciar quando o usuário escolher a opção de reinicialização; precisamos de algum método para reexecutar o programa de dentro do programa.

Este tutorial demonstrará o método que podemos usar para reiniciar o programa de dentro do programa e eliminar a instância atual do programa em Python. Podemos fazer isso usando os seguintes métodos.

Reinicie o script do programa em Python usando a função os.execv()

A função os.execv(path, args) executa o novo programa substituindo o processo. Ele não limpa os buffers, objetos de arquivo e descritores, portanto, o usuário precisa armazená-los em buffer separadamente antes de chamar a função os.execv(). A função os.execv() não requer o parâmetro path para localizar o programa executável.

Portanto, para reiniciar um programa usando a função os.execv(), primeiro precisamos liberar os buffers e os descritores de arquivo usando os métodos sys.stdout.flush() e file.flush() e depois chamar o método os.execv(). Veja o código de exemplo abaixo.

import os
import sys

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