分类目录:《系统学习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__"))