2017-10-20 83 views
1

这是我的代码,我写道:如何使用:python warnings.warn()?

#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")

我该怎么办?

回答

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

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) 

希望它能帮助!