Python:warnings模块产生警告和忽略警告

举报
彭世瑜 发表于 2021/08/14 00:51:14 2021/08/14
【摘要】 产生警告 方法 warnings.warn(message, category=None, stacklevel=1, source=None) 1 category可选参数 Warning | 这是所有警告类的基类。它是异常的子类。 UserWarning | warn()的默认类别。 DeprecationWarning | 关于不推荐使用的功能的警告的基类...

产生警告

方法

warnings.warn(message, category=None, stacklevel=1, source=None)

  
 
  • 1

category可选参数

Warning | 这是所有警告类的基类。它是异常的子类。
UserWarning | warn()的默认类别。
DeprecationWarning | 关于不推荐使用的功能的警告的基类别(默认情况下忽略)。
SyntaxWarning | 关于可疑语法特征的警告的基类。
RuntimeWarning | 关于可疑运行时功能的警告的基类别。
FutureWarning | Base类别,用于关于将来会在语义上发生变化的构造的警告。
PendingDeprecationWarning | 关于将来不推荐使用的功能的警告的基本类别(默认情况下忽略)。
ImportWarning | 导入模块过程中触发的警告的基本类别(默认情况下忽略)。
UnicodeWarning | 与Unicode相关的警告的基类别。
BytesWarning | 与字节和bytearray相关的警告的基类别。
ResourceWarning | 与资源使用相关的警告的基类别。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

示例

# -*- coding: utf-8 -*-

import warnings


def foo(): warnings.warn("Deprecated", DeprecationWarning)


if __name__ == '__main__': foo()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

过滤警告

方法

warnings.filterwarnings(action,message ='',category = Warning, module='',lineno = 0,append = False)

warnings.simplefilter(action, category = Warning,lineno = 0,append = False)

  
 
  • 1
  • 2
  • 3

action是以下字符串之一:

error   | 将匹配警告转换为异常
ignore  | 不会打印匹配的警告
always  | 总是打印匹配的警告
default | 打印发出警告的每个位置的首次出现的匹配警告
module  | 将为发出警告的每个模块打印首次发生的匹配警告
once | 仅打印第一次匹配的警告,不管位置如何

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例

# 方式一
import warnings
warnings.filterwarnings("ignore")
foo()


# 方式二
with warnings.catch_warnings(): warnings.simplefilter("ignore") foo()


# 方式三:命令行方式
$ python -W ignore foo.py


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

参考
python模块学习之warnings
Python忽略warning警告错误

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/110374909

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。