Pythonの警告を無効にするにはどうすればいいですか? 質問する

Pythonの警告を無効にするにはどうすればいいですか? 質問する

私は、(現時点では)役に立たない警告を大量に投げるコードを扱っています。warningsライブラリ。ドキュメントを読んで(/スキャンして)、私は方法を見つけました単一関数の警告を無効にするしかし、コードをそれほど変更したくはありません。

のようなフラグはありますかpython -no-warning foo.py?

あなたは何をお勧めします?

ベストアンサー1

見てください警告を一時的に抑制するPython ドキュメントのセクション:

非推奨の関数など、警告が発生することがわかっているコードを使用しているが、警告を表示したくない場合は、catch_warningsコンテキストマネージャー:

import warnings

def fxn():
    warnings.warn("deprecated", DeprecationWarning)

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    fxn()

# Or if you are using > Python 3.11:
with warnings.catch_warnings(action="ignore"):
    fxn()

私はそれを容認しませんが、次のようにしてすべての警告を抑制することができます。

import warnings
warnings.filterwarnings("ignore")

元:

>>> import warnings
>>> def f():
...     print('before')
...     warnings.warn('you are warned!')
...     print('after')
...
>>> f()
before
<stdin>:3: UserWarning: you are warned!
after
>>> warnings.filterwarnings("ignore")
>>> f()
before
after

おすすめ記事