1. ホーム
  2. python

[解決済み] Pythonスクリプトの実行を中断するにはどうすればよいですか?[重複しています]。

2022-04-15 17:31:37

質問

簡単なPythonスクリプトがあるのですが、ある条件を満たした場合に実行を停止したいのです。

例えば

done = True
if done:
    # quit/stop/exit
else:
    # do other stuff

基本的に、私は、コードの流れが関数を終了し、残りのコードを実行しないようにする関数の本文にある「return」キーワードと同等の動作をするものを探しているのです。

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

スクリプトを終了するには、次のようにします。

import sys
sys.exit()

また、終了ステータスの値(通常は整数)を指定することもできます。

import sys
sys.exit(0)

0で終了し、一般に成功と解釈されます。 0以外のコードは通常エラーとして扱われます。 デフォルトはゼロで終了します。

import sys
sys.exit("aa! errors!")

aa!エラー!" を出力し、ステータスコード 1 で終了します。

osモジュールには、_exit()関数もあります。 この関数は sys.exit() 関数は SystemExit 例外を発生させてプログラムを終了させ、try 文やクリーンアップコードを実行できるようにします。 os._exit()バージョンはこれを行いません。 これは、クリーンアップや出力バッファのフラッシュを行わずにプログラムを終了させるだけなので、通常は使用するべきではありません。

Pythonドキュメント は、 os._exit() が os.fork() の呼び出しで作成された子プロセスを終了させる通常の方法であることを示しており、特定の状況下で使用することができます。