[Python] 경고 메시지(warnings) 숨기기

업데이트:

개요

jpg

버전이 자주 업그레이드 되는(특히 Pandas..) 라이브러리나, 파이썬 IDE(주피터, 스파이더 등)을 사용하다보면 버전이 상향됨에 따라 변경될 수 있음을 알려주는 경고메세지를 출력해준다.
하지만 지금 상황에서 의미없고 깔끔하게 log를 출력하고 있는데, 이런 경고메세지가 뜨면 굉장히 거슬린다.
이럴때 warnings이란 라이브러리를 활용할 수 있다.


경고메세지 생성

예시 제공을 위해 경고메세지를 발생시키기 위해 이리저리 찾아봤지만 안나온다. 잘만 나오던 경고메시지가 찾으려 하니 안나오네
그래서 직접 경고메세지를 만들어본다.

def warn_func():
    warn_message = 'warn_func() is deprecated, use new_function() instead' 
    warnings.warn(warn_message)

warn_func()
__main__:3: UserWarning: warn_func() is deprecated, use new_function() instead

warn이라는 메소드로 경고메세지를 출력시킬 수 있다.


경고메세지 off & on

이 경고메세지를 키고 끄는 방법은 아래와 같이 간단하다.

# 경고메세지 끄기
warnings.filterwarnings(action='ignore')

# 다시 출력하게 하기
warnings.filterwarnings(action='default')

확인해보면.

warnings.filterwarnings(action='ignore')
warn_func()

안나오고!

warnings.filterwarnings(action='default')
warn_func()
__main__:3: UserWarning: warn_func() is deprecated, use new_function() instead

다시 나온다!


Reference

https://rfriend.tistory.com/346

댓글남기기