Relancer un script sur un add-event-detect GPIO

Bonjour;
Je seche sur une methode qui me permettrait de reinitialiser un script sur une interruption :

J’ai dans un script un add-event-detect avec un callback = reset . Dans le def reset() je souhaiterai arret le script en cours et relancer au debut du meme script.

def reset():
" retourner au debut du script principal prog_principal"

GPIO.add_event_detect(18,GPIO.BOTH, callback=reset)

prog_principal()

Merci d’avance pour votre aide