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)