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

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 の正規表現をコンパイルしてから、これらをタプルにして警告フィルタ の先頭に挿入します。従って、以前に挿入されたエントリと後で挿入 されたエントリの両方が特定の警告に合致した場合、後者が前者の エントリを上書きします。引数が省略されると、標準では全てにマッチ する値に設定されます。

resetwarnings( )
警告フィルタをリセットします。これにより、-W コマンドライン オプションによるものを含め、filterwarnings の呼び出しによる 影響はすべて無効化されます。

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