详解python Warning警告有哪些情况
作者:村长
这篇文章主要为大家介绍分析了python Warning警告有哪些情况示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
摘要:
在很多代码中我们经常能看到一些代码能得到我们想要的结果,但是还会出现一些警告提示,这种情况一般出现情况会有好几种,下面就来细数一下所有类型警告和处理类。
在很多代码中我们经常能看到一些代码能得到我们想要的结果,但是还会出现一些警告提示,这种情况一般出现情况会有好几种,下面就来细数一下所有类型警告和处理类。
一、警告类
首先是基类Warning,是警告基类。我们在IDE中一般只会看到他的子类:
DeprecationWarning # 有关已弃用功能的警告的基类 PendingDeprecationWarning # 有关不推荐使用功能的警告的基类 RuntimeWarning # 有关可疑的运行时行为的警告的基类 SyntaxWarning # 关于可疑语法警告的基类 UserWarning # 用户代码生成警告的基类 FutureWarning # 有关已弃用功能的警告的基类 ImportWarning # 关于模块导入时可能出错的警告的基类 UnicodeWarning # 与Unicode相关的警告的基类 BytesWarning # 与bytes和bytearray相关的警告的基类 ResourceWarning # 与资源使用相关的警告的基类。被默认警告过滤器忽略。
二、实例代码处理方法
捕获警告,在退出上下文时恢复警告过滤器和 showwarning() 函数功能。如果 record 参数是 False (缺省值),则上下文管理器在入口处返回 None。
如果 record 是 True,则返回一个列表,该列表元素为 showwarning() 函数所见的对象,列表中的每个元素都具有与 showwarning() 的参数具有相同名称的属性。
import warnings warnings.simplefilter("always") def fxn(): warnings.warn("this is a warning", Warning) with warnings.catch_warnings(): warnings.simplefilter("ignore") fxn() with warnings.catch_warnings(Warning): warnings.warn("this is a warning2", Warning) warnings.warn("this is a warning3", Warning) def fxn2(): warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter("always") # Trigger a warning. fxn2() # Verify some things assert len(w) == 1 assert issubclass(w[-1].category, DeprecationWarning) assert "deprecated" in str(w[-1].message)
以上就是详解python Warning警告有哪些情况的详细内容,更多关于python Warning警告的资料请关注脚本之家其它相关文章!