我有一个首先执行某些任务的python程序,然后在某些条件下进入交互模式,用户可以访问具有当前程序范围的交互式python控制台。现在我通过调用code.InteractiveConsole(globals())使用代码模块执行此操作.interactive('')(参见http://docs.python.org/2/library/code.html)。
我的问题是,由此产生的交互式控制台缺少我通常用标准python控制台获得的一些功能(即通过在终端中键入'python'获得的功能),例如记住上一个命令等。是否存在一种在我的python程序中获得相同的交互式控制台的方法,或者更好的是ipython的交互式控制台?
答案 0 :(得分:10)
只需使用当前正在使用code.InteractiveConsole(globals()).interact('')
的{{3}}。
确保在执行此操作之前导入IPython:
import IPython
# lots of code
# even more code
IPython.embed()