Python 경고 소리 줄이기
Python 코드에서 계속해서 발생하는 경고 메시지에 작별을 고하시겠습니까? 이는 과도한 경고를 생성하는 레거시 코드나 모듈로 작업할 때 특히 문제가 될 수 있습니다. 개별 기능에 대한 경고를 수동으로 비활성화하는 것이 옵션일 수 있지만 더 우아한 솔루션을 사용할 수 있습니다.
일시적으로 경고 억제
Python의 경고 모듈은 일시적으로 경고를 끄는 영리한 방법을 제공합니다. 경고. catch_warnings 컨텍스트 관리자를 활용하면 특정 코드 블록 중에 특정 경고 범주를 무시할 수 있습니다. with ... 문으로 코드를 래핑하는 것만큼 간단합니다.
import warnings def fxn(): warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings(): warnings.simplefilter("ignore") fxn()
또는 Python 버전 3.11 이상의 경우 더 간결한 구문을 사용할 수 있습니다.
with warnings.catch_warnings(action="ignore"): fxn()
전역 경고 억제
조금 기분이 나쁘다면 반항적이며 모든 경고를 한 번에 종료하려는 경우 warnings.filterwarnings 기능은 빠르고 더러운 솔루션을 제공합니다. 경고 합창단을 즉시 무음으로 설정하려면 작업을 "무시"로 설정하세요.
import warnings warnings.filterwarnings("ignore") def f(): print('before') warnings.warn('you are warned!') print('after') f()
이전:
>>> f() before <stdin>:3: UserWarning: you are warned! after
이후:
>>> warnings.filterwarnings("ignore") >>> f() before after
권장
대부분의 시나리오에서는 타겟 접근 방식을 사용하는 것이 좋습니다. 중요한 경고를 포착하는 기능을 유지하면서 특정 경고를 무시하는 catch_warnings입니다. 이렇게 하면 관련 없는 경고로 인해 문제를 해결하지 않게 됩니다. 그러나 모든 경고를 표시하지 않으려는 것이 확실하다면 warnings.filterwarnings 접근 방식이 전역 솔루션을 제공할 수 있습니다.
위 내용은 Python 경고를 효과적으로 음소거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!