traceback from a warning
我有一个代码,它在某个时刻显示了一个警告,我认为它在计算一个
我想知道是否有任何方法可以强制python告诉我在哪里、哪一行,或者其他信息,而不仅仅是这个消息:
1 2 3 4 5 6 | C:\Python27\lib\site-packages umpy\core\_methods.py:55: RuntimeWarning: Mean of empty slice. warnings.warn("Mean of empty slice.", RuntimeWarning) C:\Python27\lib\site-packages umpy\core\_methods.py:79: RuntimeWarning: Degrees of freedom <= 0 for slice warnings.warn("Degrees of freedom <= 0 for slice", RuntimeWarning) |
我不知道是否可以"捕获"警告…..如果我有任何错误,通常我使用的是回溯包:
然后我通常会这样做:
1 2 3 4 | try: #something except: print traceback.format_exc() |
您可以将警告转换为异常:
1 2 3 | import warnings warnings.simplefilter("error") |
现在,将不会打印警告,而是引发一个异常,为您提供一个回溯。
您可以使用
1 | $ python -W error somescript.py |
或者通过设置
1 | $ export PYTHONWARNINGS=error |
您可以使用其他