본문 바로가기
파이썬

파이썬 Python 코드의 메서드에서 현재 호출 스택 인쇄

by º기록 2021. 2. 12.
반응형

Python에서는 디버깅 목적으로 메서드 내에서 현재 호출 스택을 어떻게 인쇄 할 수 있습니까?

 

해결 방법

 


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()

또는 stdout으로 인쇄하려면 (리디렉션 된 출력을 함께 유지하려는 경우 유용함) 다음을 사용하십시오.

traceback.print_stack(file=sys.stdout)

그러나 traceback.format_stack () 을 통해 가져 오면 원하는대로 할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/1156023

 

 

반응형

댓글