如果你把
import code
code.interact(local=locals())
在您的程序中,您将被转储到 python 解释器。(请参阅查看当前正在运行的 Python 程序的方法)
这与暂停 Komodo 有点不同,但也许您可以使用它来实现相同的目标。
按 Ctrl-d 退出 python 解释器并允许您的程序恢复。
您可以使用 traceback 模块检查调用堆栈:
import traceback
traceback.extract_stack()
例如,这是一个打印调用堆栈的装饰器:
def print_trace(func):
'''This decorator prints the call stack
'''
def wrapper(*args,**kwargs):
stacks=traceback.extract_stack()
print('\n'.join(
[' '*i+'%s %s:%s'%(text,line_number,filename)
for i,(filename,line_number,function_name,text) in enumerate(stacks)]))
res = func(*args,**kwargs)
return res
return wrapper
像这样使用它:
@print_trace
def f():
pass