pythonでのwarnings

pythonでのwarningsの扱い方

タグ warnings


概要

  • deprecatedになった機能や望ましくない使い方をするとwarningsが出ることがある
  • jupyterで出ると面倒なことがあり、コントロールが必要なことがある

warningsをフィルタ

すべてのwarningsを止める

import warnings
warnings.filterwarnings("ignore")

deprecatedに関してのみwarningsを止める

import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning) 
  • category名は送出されたwarningsのprefixを確認することで判別できる

フィルタのアクション

  • default
    • モジュールと行番号につき一回だけ表示
  • error
    • exceptionに限定して表示
  • ignore
    • 常に非表示
  • always
    • 常に表示
  • module
    • moduleにつき、一回だけ表示
  • once
    • 一度だけ表示

warningsを送出する

匿名で送出する

import warnings
warnings.warn('you are warned!')
# <stdin>:1: UserWarning: you are warned!

カテゴリ名をつけて送出する

import warnings
warnings.warn("deprecated", DeprecationWarning)
# <stdin>:1: DeprecationWarning: deprecated

参考