26.4.2 警告フィルタ

警告フィルタは、ある警告を無視すべきか、表示すべきか、あるいは (例外を送出する) エラーにするべきかを制御します。

概念的には、警告フィルタは複数のフィルタ仕様からなる順番付けられた リストを維持しています; 何らかの特定の警告が生じると、フィルタ仕様の 一致するものが見つかるまで、リスト中の各フィルタとの照合が行われます; 一致したフィルタ仕様がその警告の処理方法を決定します。 フィルタの各エントリは (action, message, category, module, lineno) からなるタプルです。ここで:

Warning クラスは組み込みの Exception クラスから 導出されているので、警告をエラーに変えるには単に category(message)raise します。

警告フィルタは Python インタプリタのコマンドラインに渡される -W オプションで初期化されます。インタプリタは -W オプションに渡される全ての引数を sys.warnoptions; に変換せずに保存します; warnings モジュールは最初に import された際にこれらの引数を解釈します (無効なオプションはsys.stderr にメッセージを出力した後 無視されます)。

デフォルトでは無視される警告を -Wd をインタプリタに渡すこ とで有効にすることができます。このオプションは通常はデフォルトで無視さ れるようなものを含む全ての警告のデフォルトでの扱いを有効化します。この ような振る舞いは開発中のパッケージをインポートする問題をデバッグする時 にImportWarning を有効化するために使えます。ImportWarning は次のよう な Python コードを使って明示的に有効化することもできます。

    warnings.simplefilter('default', ImportWarning)

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。