您可以使用以下代码从脚本内部启动交互式控制台:
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
这意味着我无法使用向上/向下箭头键调用以前的命令,也无法使用向左/向右箭头键编辑行。
有谁知道这是为什么和/或如何避免这种情况?