【问题标题】:How do we prevent warning from printing strange text at the end of its message? [duplicate]我们如何防止警告在其消息末尾打印奇怪的文本? [复制]
【发布时间】:2018-08-07 11:21:53
【问题描述】:

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

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]

【问题讨论】:

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


    【解决方案1】:

    这是一种方法:

    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

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

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 2013-05-12
      • 2022-08-21
      • 2022-01-11
      • 2011-07-15
      • 2019-10-24
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      相关资源
      最近更新 更多