我们如何防止警告在消息末尾打印奇怪的文本?

时间:2018-02-27 17:54:34

标签: python python-3.x exception error-handling warnings

以下原因导致打印一些额外的奇怪输出

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]

1 个答案:

答案 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

     

这是警告的实现细节   框架;不要修改此值。请参阅警告模块   有关警告框架的更多信息。

相关问题