以下原因导致打印一些额外的奇怪输出
import warnings
def foo(x):
if x > 100:
msg = "Warning! x is big!"
warnings.warn(msg)
return True
foo(999999)
而不仅仅是打印:
UserWarning: Warning! x is big!
我们得到:
UserWarning: Warning! x is big!
warnings.warn(msg)
有时我甚至得到了:
UserWarning: Warning! x is big!
ValueError [blah, blah, blah]
答案 0 :(得分:2)
这是一种方式:
import warnings
import sys
if not sys.warnoptions:
warnings.simplefilter("ignore")
def foo(x):
if x > 100:
msg = "Warning! x is big!"
warnings.warn(msg)
return True
foo(999999)
<强>声明强>
Python documentation建议不要更改此设置:
sys.warnoptions
这是警告的实现细节 框架;不要修改此值。请参阅警告模块 有关警告框架的更多信息。