私は、(現時点では)役に立たない警告を大量に投げるコードを扱っています。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