抑制 Python 中的警告
Lovey Arora
2023年10月10日
-
使用
filterwarnings()
函数抑制 Python 中的警告 -
使用
-Wignore
选项抑制 Python 中的警告 -
使用
PYTHONWARNINGS
环境变量抑制 Python 中的警告
当使用某些过时的类、函数、关键字等时,会在 Python 中引发警告。这些不像错误。当程序中发生错误时,程序终止。但是,如果程序中有警告,它会继续运行。
本教程演示了如何抑制 Python 程序中的警告。
使用 filterwarnings()
函数抑制 Python 中的警告
warnings
模块处理 Python 中的警告。我们可以使用 warn() 函数显示用户提出的警告。我们可以使用 filterwarnings()
函数对特定警告执行操作。
例如,
import warnings
warnings.filterwarnings(
"ignore",
".*do not.*",
)
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
输出:
<string>:3: UserWarning: DelftStack
正如所观察到的,当引发 Do not show this message warning
时,会触发过滤器中的操作 ignore
,并且只显示 DelftStack
警告。
我们可以通过使用 ignore
操作来抑制所有警告。
请参考下面的代码。
import warnings
warnings.filterwarnings("ignore")
warnings.warn("DelftStack")
warnings.warn("Do not show this message")
print("No Warning Shown")
输出:
No Warning Shown
使用 -Wignore
选项抑制 Python 中的警告
-W
选项有助于控制是否必须打印警告。但是必须为该选项指定一个特定的值。没有必要只提供一个值。我们可以为选项提供多个值,但 -W
选项将考虑最后一个值。
要完全抑制警告 -Wignore
选项被使用。我们必须在运行文件时在命令提示符中使用它,如下所示。
python -W warningsexample.py
使用 PYTHONWARNINGS
环境变量抑制 Python 中的警告
我们可以在 Python 2.7 及更高版本中导出一个新的环境变量。我们可以导出 PYTHONWARNINGS
并将其设置为忽略以抑制 Python 程序中引发的警告。