概要
むしゃくしゃして書いた。冷静に考えたら疲れてた。
問題点
>>> exit
Use exit() or Ctrl-Z plus Return to exit
ウザい! exitで落ちるようにしたい!
実装
簡単に書けます。5行くらい。
import sys class Exit: def __repr__(self): sys.exit() exit = Exit()
__repr__を悪用します。あとは、適当な方法で起動時に読み込まれるようにしておきます。
参考:
pythonインタプリタ起動時に良く使うmoduleをimportする - Qiita
IPython起動時にいつも使うモジュールをimportする設定 - Qiita
【Python学習】Python起動時に自動でスクリプトを実行する方法 – SECAT
exitするとそのまま落ちるようになります。
まとめ
実用するなよ!
次は「Ctrl-d, Ctrl-cのキーイベントを乗っ取って終了不可能な対話的インタプリタを作る」方法でも考えようかな・・・。
追記
exitそのもののクラスにモンキーパッチを当てた方がスマートでは? という考えのもと、こう書いてみました。
import sys type(exit).__repr__ = lambda self: sys.exit()
成功。2行に短縮。