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

发出警告,或者忽略它或引发异常。
category参数(如果给定)必须是警告类别类(见上文);它默认为UserWarning。
或者,消息可以是一个警告实例,在这种情况下,类别将被忽略,并且将使用消息.__ class__。
在这种情况下,消息文本将是str(消息)。
如果发出的特定警告通过上面的警告过滤器更改为错误,则此函数将引发异常。
stacklevel参数可以由Python编写的包装函数使用,如下所示:

def deprecation(message):
warnings.warn(message, DeprecationWarning, stacklevel=)

这使得警告引用deprecation()的调用者,而不是deprecation()本身的来源(因为后者会打破警告消息的目的)。

源(如果提供)是发出ResourceWarning的被破坏的对象。

版本3.6更改:添加源参数。

目前定义了以下警告类别类:

类 | 说明
================
Warning | 这是所有警告类的基类。它是异常的子类。
UserWarning | warn()的默认类别。
DeprecationWarning | 关于不推荐使用的功能的警告的基类别(默认情况下忽略)。
SyntaxWarning | 关于可疑语法特征的警告的基类。
RuntimeWarning | 关于可疑运行时功能的警告的基类别。
FutureWarning | Base类别,用于关于将来会在语义上发生变化的构造的警告。
PendingDeprecationWarning | 关于将来不推荐使用的功能的警告的基本类别(默认情况下忽略)。
ImportWarning | 导入模块过程中触发的警告的基本类别(默认情况下忽略)。
UnicodeWarning | 与Unicode相关的警告的基类别。
BytesWarning | 与字节和bytearray相关的警告的基类别。
ResourceWarning | 与资源使用相关的警告的基类别。
虽然这些技术上是内置的异常,但它们在这里被记录在案,因为在概念上它们属于警告机制。

例子

# -*- coding: utf-8 -*-
# warnings模块说明
import warnings a,b= 1,23
class Twarnings(Warning):
pass
try:
assert a == 2
except Exception as e:
warnings.warn('wrong!',Twarnings)

 结果

C:\Users\huangrong\Desktop\test.py:: Twarnings: wrong!
warnings.warn('wrong!',Twarnings)
[Finished in .1s]
warnings.filterwarnings(action,message =“,category = Warning,module =”,lineno = ,append = False)

将条目插入到过滤规范的警告列表中。
    该条目默认插入前面;如果append为true,则将其插入到最后。
    这将检查参数的类型,编译消息和模块正则表达式,并将其作为元组插入到警告过滤器列表中。
    如果两者匹配特定的警告,则更接近列表前面的条目会覆盖列表后面的条目。
    省略的参数默认为匹配所有内容的值。

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

将一个简单的条目插入到过滤规范的警告列表中。
    函数参数的含义与filterwarnings()一样,但不需要正则表达式,因为插入的过滤器总是匹配任何模块中的任何消息,
    只要类别和行号匹配即可。

参数说明

    action是以下字符串之一:
值 | 处置
“error” | 将匹配警告转换为异常
“ignore” | 不会打印匹配的警告
“always” | 总是打印匹配的警告
“default” | 打印发出警告的每个位置的首次出现的匹配警告
“module” | 将为发出警告的每个模块打印首次发生的匹配警告
“once” | 仅打印第一次匹配的警告,不管位置如何 message是一个包含正则表达式的字符串,警告消息的开始必须匹配。表达式被编译为始终不区分大小写。 category是一个类(Warning的一个子类),其中警告类别必须是一个子类才能匹配。 module是一个包含模块名称必须匹配的正则表达式的字符串。表达式被编译为区分大小写。 lineno是发生警告的行号必须匹配的整数,或0以匹配所有行号。

python模块学习之warnings的更多相关文章

  1. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  2. 【目录】Python模块学习系列

    目录:Python模块学习笔记 1.Python模块学习 - Paramiko  - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...

  3. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  4. python模块学习第 0000 题

    将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果: 好可爱>%<! 题目来源:https://github.com/Yixiao ...

  5. Python模块学习:logging 日志记录

    原文出处: DarkBull    许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net ...

  6. 解惑Python模块学习,该如何着手操作...

    Python模块 晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力.然后C.Java.Python-对于零基础入门的,当然是选择Python的人较多了.可朋友说他只是看了简单的语法,可pyth ...

  7. Python模块学习

    6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

  8. Python模块学习系列

    python模块-time python模块-datetime python模块-OS模块详解

  9. Python模块学习遇到的问题

    Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案 Python使用import导入模块 ...

随机推荐

  1. jquery缩写,显示隐藏

    $(".a").css("display")=="none" ?$(".a").css("display&qu ...

  2. Lua学习笔记之开始

    在这节课的开始,按照国际惯例,一般学习一门新的语言,都是要打印出“Hello,world”,那么我们也不例外. Lua语言的打印跟其他语言一样,只要print(“Hello,World”),然后保存为 ...

  3. easyui 消息提示框

    1.浏览器消息提示框 浏览器弹出框,可以在浏览器设置中被屏蔽掉,导致效果失效 alert() 2.easyui 框架提供的消息框 easyui 框架自带的消息框,不可以被屏蔽. $.messager. ...

  4. 性能工具TProfiler介绍文档

    工具介绍 TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数 ...

  5. 关于TagHelper的那些事情——自定义TagHelper(TagHelper的Attributes)

    接上 Attributes 在最新的VS2015RC版,开始支持了TagHelper的智能提示,主要体现在在写TagHelper有Attributes的提示,正确的Tag和Attribute会变成粗体 ...

  6. cport串口控件的应用

    cport是一个很强大的串口控件.支持delphi/bcb.最新版本是v4.10.官网下载地址是:http://sourceforge.net/projects/comport/files/compo ...

  7. 基于 Scrapy-redis 的分布式爬虫详细设计

    基于 Scrapy-redis 的分布式爬虫设计   目录 前言 安装 环境 Debian / Ubuntu / Deepin 下安装 Windows 下安装 基本使用 初始化项目 创建爬虫 运行爬虫 ...

  8. BST数据结构题

    给定BST.改动BST,使得每一个点都是大于他的结点的值之和 关键是这题递归參数怎么设计,每一个点比他大的有两快.一个是右子书(假设有的话),还有一个是祖先里面比他大的,假设直接用这两个的话,找不到递 ...

  9. redis学习笔记——RDB和AOF持久化一

    为防止数据丢失,需要将 Redis 中的数据从内存中 dump 到磁盘,这就是持久化.Redis 提供两种持久化方式:RDB 和 AOF.Redis 允许两者结合,也允许两者同时关闭. RDB 可以定 ...

  10. javascript闭包传参就这么简单

    var query = (function (a) { return a; })('fx'); alert(query);