相关疑难解决方法(0)

仅打印警告消息

我在验证器中发出了很多警告,我想抑制stdout中的所有内容,除了提供的消息warnings.warn().

即,现在我看到了这个:

./file.py:123: UserWarning: My looong warning message
some Python code
Run Code Online (Sandbox Code Playgroud)

我想看到这个:

My looong warning message
Run Code Online (Sandbox Code Playgroud)

编辑2:覆盖warnings.showwarning()结果工作:

def _warning(
    message,
    category = UserWarning,
    filename = '',
    lineno = -1):
    print(message)
...
warnings.showwarning = _warning
warnings.warn('foo')
Run Code Online (Sandbox Code Playgroud)

python warnings

34
推荐指数
4
解决办法
8247
查看次数

让Python的`warnings.warn()`不提自己

我的最小例子是

#!/usr/bin/python3

import warnings

warnings.warn('Run Forest run!', stacklevel=2)
warnings.warn('Run Forest run!')
Run Code Online (Sandbox Code Playgroud)

它会输出

sys:1: UserWarning: Run Forest run!
./file.py:6: UserWarning: Run Forest run!
  warnings.warn('Run Forest run!')
Run Code Online (Sandbox Code Playgroud)

第一行给了我一些信息.第二行是完美的,给我源文件和行号...但我想摆脱多余的第三行.那可能吗?

python warnings python-3.x

6
推荐指数
2
解决办法
931
查看次数

标签 统计

python ×2

warnings ×2

python-3.x ×1