L'utilisation de atexit.register(function)
pour enregistrer une fonction à appeler lorsque votre script Python se termine est une pratique courante.Alternative au module python atexit qui fonctionne lorsqu'il est appelé à partir d'autres scripts
Le problème est que j'ai identifié un cas où cela échoue d'une manière laide: si votre script il exécuté à partir d'un autre script python en utilisant le execfile()
.
Dans ce cas, vous découvrirez que Python ne sera pas en mesure de localiser votre fonction quand elle se termine, et c'est logique.
Ma question est comment garder cette fonctionnalité d'une manière qui ne présente pas ce problème.
Pouvez-vous fournir plus de détails? Un échantillon qui échoue? Comme @bstpierre montre qu'il semble bien fonctionner. –