スクリプトにバグがあった場合、Python はエラーメッセージを出力して終了することになるが、py2exe で exe 化している場合、そのメッセージは一瞬で消えてしまって読むことが出来ない。そういうときは終了処理を追加して一旦待って貰おう。この用途には atexit
モジュールを使う。
使用例
次のようなスクリプトを実行すると勿論エラーで落ちるが、exe 化しているとウィンドウすら表示されないのでメッセージが読めない。
# coding=utf-8 # ゼロ除算エラーになる 1 / 0
そこで、スクリプトの最初に次のような処理を追加する。
# coding=utf-8 import atexit def goodbye(): """ 終了処理 """ raw_input( u"Enter キーを押してください".encode( "cp932" ) ) atexit.register( goodbye ) # ゼロ除算エラーになる 1 / 0
このスクリプトを py2exe で exe 化して実行すると、次のように表示される。