这个想法是能够正常运行代码,除非它在到达特定方法调用时将在给定范围内启动交互式解释器。类似于在断点处停止以运行代码。
理想情况下,如果您已经在像ipython这样的解释器中,它将返回到该解释器,除了访问解释器范围之外的当前范围。
答案 0 :(得分:5)
查看code模块。
以下是一个例子:
import code
a = 1
b = 2
code.interact(local=locals())
输出:
Python 2.7 (r27:82500, Nov 10 2010, 22:46:43)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> a
1
>>> b
2
>>>
答案 1 :(得分:2)
你想要code
。
答案 2 :(得分:1)
而不是从运行python(没有脚本文件)或从ipython获得REPL,你想要开始debugger吗?
def example(a, b, c):
a.apple(b.blah() + c)
import pdb
pdb.set_trace()
c.continuing_on()
while inspecting(this.code()) in the_debugger:
print "hooray"
您可以从pdb执行任意代码,但在继续运行现有代码时也可以使用方便的命令进行检查。