Pythonスクリプトの実行を中止するにはどうすればよいですか? [複製]

StackOverflow https://stackoverflow.com/questions/179369

  •  05-07-2019
  •  | 
  •  

質問

  

可能な重複:
   Pythonスクリプトの終了

条件が満たされた場合、実行を停止するシンプルなPythonスクリプトがあります。

例:

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

本質的に、コードのフローが関数を終了し、残りのコードを実行しないようにする関数の本体の「return」キーワードと同等に動作するものを探しています。

役に立ちましたか?

解決

使用できるスクリプトを終了するには、

import sys
sys.exit()

終了ステータス値(通常は整数)も指定できます。

import sys
sys.exit(0)

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

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

印刷" aa!エラー!"ステータスコード1で終了します。

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

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

他のヒント

import sys
sys.exit()

スクリプトの本文を関数に入れて、その関数から戻ることができます。

def main():
  done = True
  if done:
    return
    # quit/stop/exit
  else:
    # do other stuff

if __name__ == "__main__":
  #Run as main program
  main()

次のいずれかを使用できます:

import sys
sys.exit(...)

または:

raise SystemExit(...)

オプションのパラメータには、終了コードまたはエラーメッセージを指定できます。両方の方法は同じです。以前はsys.exitを好んでいましたが、SystemExitを上げることに最近切り替えました。これは、残りのコードの中で( raise キーワードのため)際立っているように見えるためです。

exit()はトリックを行う必要があります

exit()で実行する必要があります。

試用

sys.exit("message")

perlのようなもの

die("message")

これがあなたが探しているものなら。インポートされたモジュール/ def / functionから呼び出された場合でも、スクリプトの実行を終了します

プログラム全体が停止する場合はsys.exit()を使用し、そうでない場合は空のリターンを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top