建议使用工具或脚本逐步报告Python文件执行情况



让我们考虑一下上面的小脚本。

def d(n):
    if n==0:
        return 0
    else:
        return d(n−1)
print d(3)

有没有工具可以像调试器一样报告每个步骤的操作?

您可以使用Winpdb-一个独立于平台的Python调试器来逐步完成脚本的执行,同时在每个步骤中查看每个变量的值,并遵循指令流。

另一种选择是使用跟踪模块。

$ python -m trace --trace test.py 
 --- modulename: threading, funcname: settrace
threading.py(90):     _trace_hook = func
 --- modulename: t, funcname: <module>
t.py(1): def d(n):
t.py(6): print d(3)
 --- modulename: t, funcname: d
t.py(2):     if n==0:
t.py(5):         return d(n-1)
 --- modulename: t, funcname: d
t.py(2):     if n==0:
t.py(5):         return d(n-1)
 --- modulename: t, funcname: d
t.py(2):     if n==0:
t.py(5):         return d(n-1)
 --- modulename: t, funcname: d
t.py(2):     if n==0:
t.py(3):         return 0
0

最新更新