在numpy RuntimeWarning的代码中查找位置

Dav*_*415 4 python numpy

当在合理大的管道上运行numpy时,我收到类似这样的警告.

RuntimeWarning:在true_divide中遇到无效值

RuntimeWarning:遇到更大的无效值

除了编写几十个打印语句之外,如何在代码中找到它们的位置?

Python 2.7和numpy 1.8.1

War*_*ser 11

一种方法是将警告转换为错误:

import warnings
warnings.simplefilter('error', RuntimeWarning)
Run Code Online (Sandbox Code Playgroud)

然后回溯将告诉您错误发生的位置.

  • 使用 python cli:“python -Werror my_script.py”,无需更改代码即可完成此操作。https://docs.python.org/3/using/cmdline.html#cmdoption-W (2认同)