코드 작성하다 보면 별건 아니지만 빨간 경고창이 나타나서 우리의 가슴을 두근거리게 할 때가 있다.
에러도 아니면서 왜 빨간색으로 나를 설레게 한담 참나
경고창은 대게 크-게 눈여겨 볼만한 것은 잘 없고(내가 무지할 수도 내가 무지렁이일 수도), 내가 자주 보는 경고문은 보통 "너가 쓰는 이 패키지 이 클래스 우리 다음 버전부터는 버리고 갈꺼다? 그때 코드 오류 나도 우린 모른다?" 뭐 대충 이런 느낌의 경고문이 대부분이다(정식 명칭은 DeprecationWarning).
그렇다면 이 눈에 거슬리는 빨간 창을 안보고 싶을 땐 어떻게 할까?
고맙게도 파이썬에는 경고문을 제어할 수 있는 Warnings 모듈이 있다.
import warnings
warnings.filterwarnings(action='ignore')
이렇게 딱 두 줄만 쓰면, 경고문들이 아예 출력되지 않게끔 설정할 수 있다.
ignore말고도 다양하게 설정을 바꿀 수 있는데, 아래 표를 참고하면 된다.
warnings.filterwarnings(action=value) <- 요 value자리에 어떤 값들을 넣어서 설정할 수 있는지 설명해주는 표다.
Value | Disposition |
"default" | print the first occurrence of matching warnings for each location (module + line number) where the warning is issued 각 위치별(모듈마다, 라인 순서 |
"error" | 경고문을 예외처리해줌 |
"ignore" | 경고문을 절대 안보여줌(다 무시) |
"always" | 항상 경고문 출력 해줌 |
"module" | 각 모듈마다 젤 첨에 실행해서 발생한 경고문은 보여줌. 그 이후로는 안알랴줌(라인 순서에 상관없이) |
"once" | 위치에 상관없이 젤 첨 발생한 경고문만 보여주고 그 뒤로는 안알랴줌(어떤 모듈이든, 어느 위치든 관계 없이) |
공식 문서에 있는 표를 얼렁뚱땅 번역해보았다.
참고 문헌 : https://docs.python.org/3/library/warnings.html
댓글