我想要某种警告作为错误而升级,但只是第一次出现.怎么做?
我读了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')