gpt4 book ai didi

python - ipython事后调试: scope of outer function

转载 作者:行者123 更新时间:2023-11-28 22:46:06 25 4
gpt4 key购买 nike

考虑以下代码:

def inner(a):
if a == 75:
raise RuntimeError()
return a**2

def outer():
results = []
for a in range(100):
results.append(inner(a))
return results

outer()

在 IPython 中,引发异常后,%debug 行魔法在 inner() 的范围内打开 python 调试器:

In [4]: %debug
> <ipython-input-3-eff43b15b2ef>(3)inner()
2 if a == 75:
----> 3 raise RuntimeError()
4 return a**2

ipdb> a
a = 75
ipdb> results
*** NameError: name 'results' is not defined

如何告诉 (i)pdb 进入 outer() 的范围以保存到目前为止生成的结果?

最佳答案

我不认为你可以直接做到这一点。但是,一旦进入调试器,您可以轻松地键入 u(向上)将当前帧向上移动一级并进入 outer 函数。参见 here有关命令的更多信息。

关于python - ipython事后调试: scope of outer function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com