Il seguente esempio dimostra come un modulo possa inizializzare un contatore da un file, quando questo venga importato, e salvare automaticamente il valore aggiornato del contatore, quando il programma termini senza affidarsi ad un'applicazione che faccia un'esplicita chiamata all'interno del modulo durante la chiusura.
try: _count = int(open("/tmp/counter").read()) except IOError: _count = 0 def incrcounter(n): global _count _count = _count + n def savecounter(): open("/tmp/counter", "w").write("%d" % _count) import atexit atexit.register(savecounter)
Gli argomenti chiave e posizionali possono anche venire passati a register(), per venire poi passati attraverso la funzione registrata quando questa viene chiamata:
def goodbye(nome, aggettivo): print 'Ciao, %s, è stato %s incontrarti.' % (nome, aggettivo) import atexit atexit.register(goodbye, 'Donny', 'nice') # or: atexit.register(goodbye, aggettivo='nice', nome='Donny')