Riavvia lo script in Python

Muhammad Waiz Khan 30 marzo 2021
Riavvia lo script in Python

In questo tutorial, esamineremo il metodo per riavviare o rieseguire il programma in Python. Supponiamo di voler aggiungere la funzionalità al nostro programma per riavviare quando l’utente sceglie l’opzione di riavvio; abbiamo bisogno di un metodo per rieseguire il programma dall’interno del programma.

Questo tutorial mostrerà il metodo che possiamo usare per riavviare il programma dall’interno del programma e terminare l’istanza corrente del programma in Python. Possiamo farlo utilizzando i seguenti metodi.

Riavvia lo script del programma in Python usando la funzione os.execv()

La funzione os.execv(path, args) esegue il nuovo programma sostituendo il processo. Non svuota i buffer, gli oggetti file e i descrittori, quindi l’utente deve salvarli separatamente prima di chiamare la funzione os.execv(). La funzione os.execv() non richiede il parametro path per individuare il programma eseguibile.

Pertanto, per riavviare un programma usando la funzione os.execv(), dobbiamo prima svuotare i buffer e i descrittori di file usando i metodi sys.stdout.flush() e file.flush() e poi chiamare il metodo os.execv(). Vedere il codice di esempio di seguito.

import os
import sys

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