18.1.4 重复的警告
默认地,大多数警告只是在一个给定位置第一次出现时才会打印,这里所说的"位置"是由模块和生成警告的相应行号的组合来定义的。
import warnings
def function_with_warning():
warnings.warn('This is a warning!')
function_with_warning()
function_with_warning()
function_with_warning()
这个例子多次调用同一个函数,不过只生成一个警告。
"once"动作可以用来抑制相同消息在不同位置多次出现。
import warnings
warnings.simplefilter('once',UserWarning)
warnings.warn('This is a warning!')
warnings.warn('This is a warning!')
warnings.warn('This is a warning!')