26.4.3 利用可能な関数

warn( message[, category[, stacklevel]])
警告を発するか、無視するか、あるいは例外を送出します。 category 引数が与えられた場合、警告カテゴリクラスでなければ なりません (上を参照してください); 標準の値は UserWarning です。messageWarning インスタンスで代用する こともできますが、この場合 category は無視され、 message.__class__ が使われ、メッセージ文は str(message) になります。発された例外が前述した警告フィルタによってエラーに 変更された場合、この関数は例外を送出します。引数 stacklevel は Python でラッパ関数を書く際に利用することができます。例えば:

def deprecation(message):
    warnings.warn(message, DeprecationWarning, stacklevel=2)

こうすることで、警告が参照するソースコード部分を、 deprecation() 自身ではなく deprecation() を 呼び出した側にできます (というのも、前者の場合は警告メッセージ の目的を台無しにしてしまうからです)。

warn_explicit( message, category, filename, lineno[, module[, registry[, module_globals]]])
warn() の機能に対する低レベルのインタフェースで、 メッセージ、警告カテゴリ、ファイル名および行番号、そしてオプションの モジュール名およびレジストリ情報 (モジュールの __warningregistry__ 辞書) を明示的に渡します。 モジュール名は標準で .py が取り去られたファイル名になります; レジストリが渡されなかった場合、警告が抑制されることはありません。 message は文字列のとき、categoryWarning のサブクラスでなければなりません。また messageWarning のインスタンスであってもよく、この場合 category は無視されます。

module_globals は、もし与えられるならば、警告が発せられるコードが 使っているグローバル名前空間でなければなりません。(この引数は zipfile やその他の非ファイルシステムのインポート元の中にあるモジュールのソース を表示することをサポートするためのもので、Python 2.5 で追加されました。)

showwarning( message, category, filename, lineno[, file])
警告をファイルに書き込みます。標準の実装では、 formatwarning(message, category, filename, lineno) を呼び出し、返された文字列を file に書き込み ます。file は標準では sys.stderr です。 この関数は warnings.showwarning に別の実装を代入して 置き換えることができます。

formatwarning( message, category, filename, lineno)
警告を通常の方法で書式化します。返される文字列内には改行が埋め込まれて いる可能性があり、かつ文字列は改行で終端されています。

filterwarnings( action[, message[, category[, module[, lineno[, append]]]]])
警告フィルタのリストにエントリを一つ挿入します。標準ではエントリは 先頭に挿入されます; append が真ならば、末尾に挿入されます。 この関数は引数の型をチェックし、message および module の正規表現をコンパイルしてから、これらをタプルにして警告フィルタ のリストに挿入します。二つのエントリが特定の警告に合致した場合、 リストの先頭に近い方のエントリが後方にあるエントリに優先します。 引数が省略されると、標準では全てにマッチする値に設定されます。

simplefilter( action[, category[, lineno[, append]]])
単純なエントリを警告フィルタのリストに挿入します。引数の意味 は filterwarnings() と同じですが、この関数により挿入されるフィ ルタはカテゴリと行番号が一致していれば全てのモジュールの全てのメッセー ジに合致しますので、正規表現は必要ありません。

resetwarnings( )
警告フィルタをリセットします。これにより、-W コマンドラ インオプションによるもの simplefilter() 呼び出しによるもの を含め、filterwarnings の呼び出しによる影響はすべて無効化 されます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。