gpt4 book ai didi

python - 从代码中的方法打印当前调用堆栈

转载 作者:IT老高 更新时间:2023-10-28 12:10:28 26 4
gpt4 key购买 nike

在 Python 中,如何从方法中打印当前调用堆栈(用于调试目的)。

最佳答案

这是通过 traceback 获取堆栈的示例模块,并打印它:

import traceback

def f():
g()

def g():
for line in traceback.format_stack():
print(line.strip())

f()

# Prints:
# File "so-stack.py", line 10, in <module>
# f()
# File "so-stack.py", line 4, in f
# g()
# File "so-stack.py", line 7, in g
# for line in traceback.format_stack():

如果你真的只想将堆栈打印到stderr,你可以使用:

traceback.print_stack()

或打印到标准输出(如果想将重定向的输出保持在一起很有用),使用:

traceback.print_stack(file=sys.stdout)

但是通过 traceback.format_stack() 获取它可以让您随心所欲地使用它。

关于python - 从代码中的方法打印当前调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156023/

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