1. ホーム
  2. パイソン

[解決済み】トレースバックなしでPythonを終了する方法は?

2022-03-31 20:01:45

質問

トレースバックのダンプを出力せずにPythonを終了する方法を知りたいのですが、どうすればよいですか?

エラーコードを返せるようにしたいのですが、トレースバックログは表示したくありません。

を使用して終了できるようにしたい。 exit(number) トレースなしで、しかし例外の場合(終了ではない)、私はトレースが欲しいです。

どのように解決するのですか?

おそらく例外が発生し、そのためにプログラムが終了しているのだと思われます(トレースバック付き)。 したがって、まず最初にすべきことは、その例外をキャッチして、きれいに終了することです(メッセージを表示することもできます、例はこちら)。

このようなことを main ルーチンを使用します。

import sys, traceback

def main():
    try:
        do main program stuff here
        ....
    except KeyboardInterrupt:
        print "Shutdown requested...exiting"
    except Exception:
        traceback.print_exc(file=sys.stdout)
    sys.exit(0)

if __name__ == "__main__":
    main()