这应该是一个简单的方法,但是很伤人。
我的一个Python脚本中的一条语句给出了RuntimeWarning消息:
RuntimeWarning: invalid value encountered in double_scalars
z = 1.0/(D*ppr + E*y**2 - F*y**G)
仍然运行脚本,绘制漂亮的图表,显示可接受的结果,等等。但是此警告使我烦恼。它表明我的脚本中有些东西很腥。
我想在发生这种情况时检查值。这不行吗?
try:
z = 1.0/(D*ppr + E*y**2 - F*y**G)
except RuntimeWarning:
print (D, E, F, G, ppr, y)
但是不是(尽管脚本像以前一样运行)。 '警告除外:'也不起作用。
但是这两个例外在这里列出:https://docs.python.org/3/library/exceptions.html
这里有什么问题?感谢您的帮助。
PS:我正在使用Spyder 4.1.1 IDE。这有什么区别吗?
根据documentation on the warnings
module,这是您的warnings
:
"catch" warnings
免责声明:请注意,忽略这些警告可能并不是您的最大利益,而是要了解为什么会发生并修复代码,然后删除警告检查。