我试图提出一个DeprecationWarning
,其中包含基于文档中所示示例的代码片段。http://docs.python.org/2/library/warnings.html#warnings.warn
官方的
def deprecation(message):
warnings.warn(message, DeprecationWarning, stacklevel=2)
我的
import warnings
warnings.warn("This is a warnings.", DeprecationWarning, stacklevel=2) is None # returns True
我试过删除stacklevel参数,将其设置为负、0、2和20000。警告总是默默地吞下。它不会发出警告或引发异常。它只是忽略该行并返回None
。文件没有提到忽略的标准。发出消息,发出警告。警告正确地发出Userwarning.
是什么导致了这种情况?我如何得到警告才能真正发出警告?
警告模块实现基于特定条件的警告筛选。您可以通过打印
warnings.filters
来显示默认筛选器:如您所见,} 模块中的函数和^{} command-line option to Python中的函数来配置过滤器——有关详细信息,请参阅文档。
DeprecationWarning
在默认情况下被忽略。您可以使用^{示例:
从文档中:
默认情况下,
DeprecationWarning
被忽略。可以使用以下命令更改筛选器:现在应该打印警告:
相关问题 更多 >
编程相关推荐