4
我希望某种警告会被误认为是错误,但只是第一次出现。怎么做?Python警告控件
我读http://docs.python.org/library/warnings.html,我不知道如何结合这两种行为。
我希望某种警告会被误认为是错误,但只是第一次出现。怎么做?Python警告控件
我读http://docs.python.org/library/warnings.html,我不知道如何结合这两种行为。
查看warnings.py的代码,不能将多个过滤器操作分配给警告,也不能(很容易)定义自己的操作,如'raise_once'。
但是,如果您想将警告提示为例外,但只是一次,这意味着您正在捕捉异常。为什么不在你的除外条款中设置一条对该特定警告设置“忽略”操作的行?
#!/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')
有没有办法使警告静音后,几个类似的警告?我的意思是确切数量的警告。 – L1ker 2009-09-13 15:12:59
L1ker,请参阅http://docs.python.org/2/library/warnings.html#the-warnings-filter。你可以例如在警告提出之前在某处调用'warnings.filterwarnings(“一次”)。但是,按照您的要求,无法多次显示相同的警告,但需要固定次数。 – j08lue 2014-02-26 08:31:36