如何从python程序中间启动交互式python / ipython会话?

时间:2014-01-29 02:59:57

标签: python ipython

我有一个首先执行某些任务的python程序,然后在某些条件下进入交互模式,用户可以访问具有当前程序范围的交互式python控制台。现在我通过调用code.InteractiveConsole(globals())使用代码模块执行此操作.interactive('')(参见http://docs.python.org/2/library/code.html)。

我的问题是,由此产生的交互式控制台缺少我通常用标准python控制台获得的一些功能(即通过在终端中键入'python'获得的功能),例如记住上一个命令等。是否存在一种在我的python程序中获得相同的交互式控制台的方法,或者更好的是ipython的交互式控制台?

1 个答案:

答案 0 :(得分:10)

只需使用当前正在使用code.InteractiveConsole(globals()).interact('')的{​​{3}}。

确保在执行此操作之前导入IPython:

import IPython
# lots of code
# even more code
IPython.embed()