有什么方法可以控制未处理的异常后最终进入哪个名称空间?
例如,在IPython提示符中,对具有以下内容的文件进行run myscript.py
:
def spam():
ham = "ham"
crash = 1/0
eggs = "eggs"
if __name__ == '__main__':
foo = "foo"
spam()
它以零除崩溃,然后返回IPython提示符,现在在命名空间中使用
foo
,但没有ham
。对于某些事后检查,我想返回功能spam()
范围内的解释器(即ham
可用,eggs
和foo
则不可用)。我们可以使用
pdb.set_trace()
访问这些内容并重新运行代码,但是如果有捷径可以退后一帧,那就太好了。 最佳答案
您可以通过输入%pdb
在ipython提示符下启用pdb的自动调用。