我希望在第一次出现时将某种警告作为错误提出来。如何实现?
我阅读了http://docs.python.org/library/warnings.html,但不知道如何将这两种行为结合起来。
我希望在第一次出现时将某种警告作为错误提出来。如何实现?
我阅读了http://docs.python.org/library/warnings.html,但不知道如何将这两种行为结合起来。
查看warnings.py代码,您无法将多个过滤器操作分配给警告,并且您不能(轻松地)定义自己的操作,例如“raise_once”。
但是,如果您想将警告作为异常引发,但仅一次,这意味着您正在捕获异常。为什么不在except子句中放置一行代码,为该特定警告设置一个“忽略”操作?
#!/usr/bin/python
import warnings
warnings.filterwarnings('error','Test')
for i in range(2):
try:
warnings.warn('Test');
except UserWarning, e:
print "Error caught"
warnings.filterwarnings('ignore','Test')