Pythonスクリプトの実行を中止するにはどうすればよいですか? [複製]
質問
可能な重複:
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()を使用し、そうでない場合は空のリターンを使用します。