系统学习Python——警告信息的控制模块warnings:警告过滤器-[重写默认的过滤器]

2024-01-09 21:39:19

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


Python应用程序的开发人员可能希望在默认情况下向用户隐藏所有Python级别的警告,而只在运行测试或其他调试时显示这些警告。用于向解释器传递过滤器配置的sys.warningoptions属性可以作为一个标记,表示是否应该禁用警告:

import sys

if not sys.warnoptions:
    import warnings
    warnings.simplefilter("ignore")

建议Python代码测试的开发者使用如下代码,以确保被测代码默认显示 所有警告:

import sys

if not sys.warnoptions:
    import os, warnings
    warnings.simplefilter("default") # Change the filter in this process
    os.environ["PYTHONWARNINGS"] = "default" # Also affect subprocesses

最后,建议在__main__以外的命名空间运行用户代码的交互式开发者,请确保DeprecationWarning在默认情况下是可见的,可采用如下代码(这里user_ns是用于执行交互式输入代码的模块):

import warnings
warnings.filterwarnings("default", category=DeprecationWarning,
                                   module=user_ns.get("__name__"))

文章来源:https://blog.csdn.net/hy592070616/article/details/135489147
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。