python __FILE__ __LINE__ __func__ 대체
c에서는 아래와 같이 디버그 코드를 삽입한다
printf("%s %4d %s : \n", __FILE__, __LINE__, __func__);
python에서도 비슷하게 할 수 있는 방법을 찾아서 정리하였다.
다음과 같이 출력된다.
printf("%s %4d %s : \n", __FILE__, __LINE__, __func__);
python에서도 비슷하게 할 수 있는 방법을 찾아서 정리하였다.
import inspectdef logger(*msg):print(':'.join([str(element) for element in inspect.stack()[1][1:4]]), end=' ')print(msg)
다음과 같이 출력된다.
/home/sjpark/./sjpark.py:19:sjpark_func (2,)좋네
수정 : ctrl+click 으로 쉽게 찾아갈수 있도록 file:line:func 형식으로 변경
호출할때 logger(f'{val = }') 형식으로 호출되면 val=값 으로 출력되어 더 보기 좋음
더 편리하게 logger 안에서 하는 방법까지는 힘들듯.
댓글
댓글 쓰기