有没有办法查看哪行代码在python中产生警告消息?

时间:2020-07-31 08:01:54

标签: python warnings

Python经常抛出警告消息,尤其是在使用熊猫时。但是没有显示行参考。为什么会这样,有没有办法获取该信息?

1 个答案:

答案 0 :(得分:0)

对于不是熊猫特有的更通用的解决方案,您可以覆盖formatwarning方法:

警告消息的打印是通过调用showwarning()完成的, 可能被覆盖;此功能的默认实现 通过调用formatwarning()格式化消息 可供自定义实现使用。

因此它看起来可能类似于以下内容:

import warnings

def my_formatwarning(message, category, filename, lineno, line=None):
  print(message, category)
  # lineno is the line number you are looking for
  print('file:', filename, 'line number:', lineno) 
  ...

warnings.formatwarning = my_formatwarning

对于问题的为何部分我不确定,我真的不确定答案是什么?