欢迎关注WX公众号:【程序员管小亮】
在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告,有时特别讨厌,尤其是强迫症患者真的是很难过了 ????(一大片。。。。。。。。。自闭中ing)。
那么如何来控制警告输出呢?其实很简单,python通过调用warnings模块中定义的warn()函数来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息,
代码:
import warnings
warnings.filterwarnings('ignore')
这样就可以忽略警告消息了。下面来函数解析一下:
warnings.filterwarnings(action,
message='',
category=Warning,
module='',
lineno=0,
append=False)
过滤警告,在 警告过滤器规则
列表中插入一个条目。默认情况下,条目插入在前面;如果 append
为真,则在末尾插入。它检查参数的类型,编译 message
和 module
的正则表达式,并将它们作为警告过滤器列表中的元组插入。如果多个地方都匹配特定的警告,那么更靠近列表前面的条目会覆盖列表中后面的条目,省略的参数默认为匹配一切的值。
-
action
是以下表格左侧的值:
值 | 处理方式 |
“error” | 将匹配警告转换为异常 |
“ignore” | 忽略匹配的警告 |
“always” | 始终输出匹配的警告 |
“default” | 对于同样的警告只输出第一次出现的警告 |
“module” | 在一个模块中只输出第一次出现的警告 |
“once” | 输出第一次出现的警告,而不考虑它们的位置 |
-
message
是包含正则表达式的字符串,警告消息的开始必须匹配,不区分大小写 -
category
是一个警告类型(必须是 Warning 的子类) -
module
是包含模块名称的正则表达式字符串,区分大小写 -
lineno
是一个整数,警告发生的行号,为 0 则匹配所有行号
命令行下的运行代码为:
python -W ignore file.py