Python はスクリプトの実行を停止するためのさまざまなコマンドをサポートしているようです。私
が見つけた選択肢は次のとおりです: quit()
、、、exit()
sys.exit()
os._exit()
何か見逃していますか? それらの違いは何ですか? それぞれいつ使用しますか?
ベストアンサー1
それらについていくつか情報を提供しましょう:
quit()
単にSystemExit
例外。さらに、印刷すると、次のメッセージが表示されます。
>>> print (quit) Use quit() or Ctrl-Z plus Return to exit >>>
この機能は、Python を知らない人を助けるために追加されました。結局のところ、初心者が Python を終了しようとする可能性が最も高いことの 1 つは、 と入力することです
quit
。しかしながら、本番コードでは使用すべきでは
quit
ありません。これは、site
モジュールがロードされます。代わりに、この関数はインタープリタでのみ使用する必要があります。exit()
は のエイリアスですquit
(またはその逆)。これらは、Python をよりユーザーフレンドリーにするために一緒に存在します。さらに、印刷すると次のようなメッセージが表示されます。
>>> print (exit) Use exit() or Ctrl-Z plus Return to exit >>>
ただし、 と同様に
quit
、exit
は製品コードで使用するのは適切ではないと考えられており、インタープリタ内での使用に限定する必要があります。これは、 も モジュールに依存しているためですsite
。sys.exit()
も例外を発生させます。つまり、その点ではおよびとSystemExit
同じであるということです。quit
exit
しかし、これら2つとは異なり、
sys.exit
は製品版コードで使用するのに適していると考えられています。これは、sys
モジュールは常に存在します。os._exit()
クリーンアップハンドラの呼び出しやstdioバッファのフラッシュなどを行わずにプログラムを終了します。したがって、これは標準的な終了方法ではなく、特別な場合にのみ使用してください。最も一般的なのは、os.fork
。示されている 4 つの方法のうち、この方法だけが独自の機能を備えていることに注意してください。
まとめると、4 つの方法はすべてプログラムを終了します。ただし、最初の 2 つは製品コードで使用するには不適切であると考えられており、最後の方法は非標準のダーティな方法で、特別なシナリオでのみ使用されます。したがって、プログラムを通常どおり終了する場合は、3 番目の方法を使用してくださいsys.exit
。
sys.exit
あるいは、私の意見では、舞台裏で行われていることを直接実行して、次のように実行するのがさらに良いでしょう。
raise SystemExit
この方法では、最初にインポートする必要はありませんsys
。
ただし、この選択は単にスタイルによるものであり、完全にあなた次第です。