Ce n'est certainement pas la manière la plus propre de le faire, mais vous pouvez le mettre dans une boucle while avec une variable définie sur true, et quand la fonction s'exécute avec succès, elle définit la variable sur false, tandis que si elle échoue, elle garde la variable définie sur true.
x = True
while x == True:
try:
do_smth1()
do_smth2()
x = False
except Exception:
x = True
De cette façon, la boucle while continuera à répéter la section try except encore et encore jusqu'à ce qu'elle fonctionne, moment où x est défini sur false et la boucle s'arrête.
De plus, vous pouvez implémenter un break dans la boucle while au lieu de le baser sur une variable, par exemple:
while True:
try:
do_smth1()
do_smth2()
break
except Excpetion:
pass
P.S Il est bon d'ajouter une exception spécifique pour la section except, au lieu de laisser cela pour n'importe quelle exception. Cela rend le code plus propre et est plus judicieux lors de la gestion des erreurs, surtout dans de plus gros projets