4

次のコードを検討してください。

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ライン マジックによって Python デバッガーが のスコープで開かれますinner()

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

outer()これまでに生成された結果を保存するために、(i)pdb にスコープに入るように指示するにはどうすればよいですか?

4

1 に答える 1