Python输出警告信息的方法

  介绍

这篇文章主要讲解了Python输出警告信息的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

<强>问题

你希望自己的程序能生成警告信息(比如废弃特性或使用问题)。

<强>解决方案

要输出一个警告消息,可使用<代码> warning.warn() 函数例。如:

进口警告
  
  def func (x, y,日志文件=None, debug=False):
  如果日志文件不是没有:
  warnings.warn(& # 39;日志文件参数弃用# 39;,DeprecationWarning)
  …

<代码>警告()的参数是一个警告消息和一个警告类、警告类有如下几种:UserWarning, DeprecationWarning, SyntaxWarning, RuntimeWarning, ResourceWarning,或FutureWarning。

对警告的处理取决于你如何运行解释器以及一些其他配置,例如,如果你使用<代码> - w所有选项去运行Python,你会得到如下的输出:

bash % python3 - w所有example.py
示例。py: 5: DeprecationWarning:日志文件参数是弃用
,warnings.warn(& # 39;日志文件参数是弃用# 39;,DeprecationWarning)

通常来讲,警告会输出到标准错误上。如果你想讲警告转换为异常,可以使用<代码> 选- w误差项:

bash % python3 - w错误的例子。py
回溯(最近的电话最后):
,文件“example.py", 10号线& lt; module>
,,,func(2、3、日志文件=& # 39;log.txt& # 39;)
,文件“example.py"第5行,func
,,,warnings.warn(& # 39;日志文件参数是弃用# 39;,DeprecationWarning)
DeprecationWarning:日志文件参数是弃用bash %

<>强讨论

在你维护软件,提示用户某些信息,但是又不需要将其上升为异常级别,那么输出警告信息就会很有用了。例如,假设你准备修改某个函数库或框架的功能,你可以先为你要更改的部分输出警告信息,同时向后兼容一段时间。你还可以警告用户一些对代码有问题的使用方式。

作为另外一个内置函数库的警告使用例子,下面演示了一个没有关闭文件就销毁它时产生的警告消息:

在祝辞祝辞进口警告   在在在warnings.simplefilter(& # 39;总是# 39;)   在在在f=开放(& # 39;/etc/passwd # 39;)   在在在▽   __main__: 1: ResourceWarning:打开文件& lt; _io。TextIOWrapper name=& # 39;/etc/passwd # 39;=& # 39;模式" # 39;=& # 39;编码utf - 8 # 39;比;   祝辞祝辞在

默认情况下,并不是所有警告消息都会出现,选项能控制警告消息的输出。- w会输出所有警告消息,- w忽略忽略掉所有警告,- w错误将警告转换成异常。另外一种选择,你还可以使用<代码> warnings.simplefilter() 函数控制输出。总是参数会让所有警告消息出现,“忽视忽略调所有的警告,错误将警告转换成异常。

对于简单的生成警告消息的情况这些已经足够了。警告模块对过滤和警告消息处理提供了大量的更高级的配置选项只

看完上述内容,是不是对Python输出警告信息的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

Python输出警告信息的方法