반응형
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 logging.info가 콘솔에 표시되지 않지만 경고 및 오류가 발생합니다. (0) | 2021.02.12 |
---|---|
파이썬 문자열에서 문자의 수를 센다. (0) | 2021.02.12 |
파이썬 목록에서 모든 값을 제거 하시겠습니까? (0) | 2021.02.12 |
파이썬 Python ftplib로 FTP를 통해 파일을 다운로드하는 방법 (0) | 2021.02.12 |
파이썬 로거별로 Python 로그 메시지의 형식을 변경하려면 어떻게해야합니까? (0) | 2021.02.12 |
댓글