次の簡単な例では、インポートされたときにモジュールがファイルからカウンタを初期化する方法を示しています。また、プログラムが終了したときにアプリケーションがこのモジュールを明示的に呼び出さなくても、自動的にカウンタの更新された値を保存する方法を示しています。
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')