1. ホーム
  2. パイソン

[解決済み】Pythonシェルで矢印キーを押すとエスケープ文字が表示される件

2022-04-08 20:30:43

質問

対話型 Python シェルのようなシェルでは、通常、矢印キーを使って現在の行を移動したり、前のコマンドを取得したり (arrow-up を使用) することができます。

しかし、別のマシンに ssh して起動した後 python のようなセッションが表示されます。

>>> import os 
>>> ^[[A    

ここで、最後の文字はarrow-upから来る。または、arrow-leftを使用。

>>> impor^[[D

どうすれば直るのでしょうか?

通常のbashでは、矢印キーは正常に動作します。Python (または perl など) の対話型シェルでだけ、奇妙な動作があります。

解決方法は?

リードラインが有効になっていないようです。以下の点を確認してください。 PYTHONSTARTUP 変数が定義されており、私の場合、それは /etc/pythonstart で、そのファイルはインタラクティブになる前に python プロセスによって実行され、readline/history の処理をセットアップします。

この件に関するドキュメントを @chown に感謝します。 http://docs.python.org/2/tutorial/interactive.html