在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告
那么如何来控制警告输出呢?其实很简单,python
通过调用warnings
模块中定义的warn()函数
来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息
import warnings
warnings.filterwarnings('ignore')
这样就可以忽略警告消息了。下面来函数解析一下:
warnings.filterwarnings(action,
message='',
category=Warning,
module='',
lineno=0,
append=False)
过滤警告,在 警告过滤器规则 列表中插入一个条目。默认情况下,条目插入在前面;如果 append
为真,则在末尾插入。它检查参数的类型,编译 message 和 module
的正则表达式,并将它们作为警告过滤器列表中的元组插入。如果多个地方都匹配特定的警告,那么更靠近列表前面的条目会覆盖列表中后面的条目,省略的参数默认为匹配一切的值。
-
action
是以下表格左侧的值:
-
message
是包含正则表达式的字符串,警告消息的开始必须匹配,不区分大小写 -
category
是一个警告类型(必须是 Warning 的子类) -
module
是包含模块名称的正则表达式字符串,区分大小写 -
lineno
是一个整数,警告发生的行号,为 0 则匹配所有行号
命令行下的运行代码为:
python -W ignore file.py