如何使用:python warnings.warn()?

时间:2017-10-20 08:06:19

标签: python warnings

这是我写的代码:

#usr/bin/python3
import warnings

def tt():

    warnings.warn("123")

    return 10

x = tt()

print(x)

打印:

test.py:5: UserWarning: 123

warnings.warn("123")

10

我希望它只打印:

test.py:5: UserWarning: 123
10

没有warnings.warn("123")

我该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以替换用于格式化消息的函数;例如:

def warning_on_one_line(message, category, filename, lineno, file=None, line=None):
        return '%s:%s: %s:%s\n' % (filename, lineno, category.__name__, message)

warnings.formatwarning = warning_on_one_line

Python Module of the week article

答案 1 :(得分:0)

import warnings
# import pdb

def format_Warning(message, category, filename, lineno, line=''):
    return str(filename) + ':' + str(lineno) + ': ' + category.__name__ + ': ' +str(message) + '\n'

warnings.formatwarning = format_Warning

def tt():

    warnings.warn("123")

    return 10

x = tt()

print(x)

希望它有所帮助!