プログラミングと絵と音楽

コンピューター科学を専攻し、絵と音楽を趣味とするエンジニアのブログです。

Pythonでプログラムの実行中に対話モードになる方法

プログラムの実行中に、途中のこの変数を見たり、少し弄ったりしたいと考えることがありましたが、ふと思いついたので実現できました。

コードの中にこれを挟み込むだけです。

while True:
    try:
        print(eval(input(">>> ")))
    except EOFError:
        print()
        break
    except Exception as e:
        print(e)

inputで読み込んで、それをevalで評価し、結果をprintするのを繰り返します。

Ctrl-D で EOFError が発生し、ループを抜けることができます。

エラーが出た場合は、メッセージを出力してやり直しになります。標準エラー出力にするとimportが必要になるため、printで標準出力するようにしました。

コードの中で複数挟み込むことで、複数の箇所で対話モードに入れます。

Rubyなどでも同じようなことができそうですね。