当前位置:   article > 正文

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

import warnings

产生警告

方法

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警告错误

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/904125
推荐阅读
相关标签
  

闽ICP备14008679号