次のコードを使用して、スクリプト内からインタラクティブ コンソールを起動できます。
import code
# do something here
vars = globals()
vars.update(locals())
shell = code.InteractiveConsole(vars)
shell.interact()
次のようにスクリプトを実行すると:
$ python my_script.py
インタラクティブ コンソールが開きます。
Python 2.7.2+ (default, Jul 20 2012, 22:12:53)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
コンソールにはすべてのグローバルとローカルがロードされており、簡単にテストできるのでとても便利です。
ここでの問題は、Python コンソールを起動するときに矢印が通常のように機能しないことです。エスケープされた文字をコンソールに表示するだけです。
>>> ^[[A^[[B^[[C^[[D
これは、上下の矢印キーを使用して以前のコマンドを呼び出すことができず、左右の矢印キーを使用して行を編集することもできないことを意味します。
それがなぜなのか、および/またはそれを回避する方法を誰かが知っていますか?