系统学习Python——警告信息的控制模块warnings:基础知识

分类目录:《系统学习Python》总目录


通常以下情况会引发警告:提醒用户注意程序中的某些情况,而这些情况通常还不值得触发异常并终止程序。例如,当程序用到了某个过时的模块时,就可能需要发出一条警告。

Python程序员可调用warnings模块中定义的warn()函数来发布警告。警告信息通常会写入sys.stderr,但可以灵活改变,从忽略所有警告到变成异常都可以。警告的处理方式可以依据警告类型 、警告信息的文本和发出警告的源位置而进行变化。同一源位置重复出现的警告通常会被抑制。

控制警告信息有两个阶段:首先,每次引发警告时,决定信息是否要发出;然后,如果要发出信息,就用可由用户设置的钩子进行格式化并打印输出。

警告过滤器控制着是否发出警告信息,也即一系列的匹配规则和动作。调用filterwarnings()可将规则加入过滤器,调用resetwarnings()则可重置为默认状态。

警告信息的打印输出是通过调用showwarning()完成的,该函数可被重写;默认的实现代码是调用formatwarning()进行格式化,自己编写的代码也可以调用此格式化函数。

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/135442653