Pythonスクリプトが正しく終了しているかどうかを知りたい。このため私はatexit
を使用していますが、問題は、atexitがsys.exit(0)で呼び出された場合と、非ゼロまたは例外で呼び出された場合の区別方法がわかりません。atexitコールバックがPythonで呼び出されたときに終了コードまたは理由を見つける方法はありますか?
推論:プログラムが正常に終了すると、何も起こりませんが、例外によってプログラムが終了するか、ゼロ以外のエラーコード(終了ステータス)が返された場合、何らかのアクションをトリガーします。
共通のモジュールをインポートしている十数個のスクリプトに同じ動作を追加したいので、なぜ私がtry/finallyを使用していないのか不思議に思うかもしれません。すべてを変更するのではなく、インポートするモジュールにatexit()ハックを追加し、すべてのモジュールでこの動作をフリーにしたいと考えています。
何を達成したいですか?なぜ適切なエラー処理を使用しないのですか? –