次の簡単な例では、あるモジュールを import した時にカウンタを初期化し ておき、プログラムが終了するときにアプリケーションがこのモジュールを明 示的に呼び出さなくてもカウンタが更新されるようにする方法を示しています。
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)
register() に指定した固定引数とキーワードパラメタは 登録した関数を呼び出す際に渡されます。
def goodbye(name, adjective):
print 'Goodbye, %s, it was %s to meet you.' % (name, adjective)
import atexit
atexit.register(goodbye, 'Donny', 'nice')
# or:
atexit.register(goodbye, adjective='nice', name='Donny')