我在我的代码中有多个计算列表平均值的实例。因此,我正在寻找一种方法来显示警告“空片的平均值”出现的代码行,就像任何正常错误一样。
输入是普通列表[1,2,3]
或numpy列表np.array([1,2,3])
所以我想要这样的东西:File "file_name.py", line <line_number> in <folder_number>
到目前为止,我可以打印所有mean计算的输出,如下所示:
test1 = np.mean([1,2,3])
print('test1',test1)
但是,我认为,当代码中有许多这样的计算时,它太多余了。
有没有办法更改警告的配置,使其返回此信息?
发布于 2020-09-10 10:59:37
您可以使用np.seterr(all='raise')
将所有numpy警告升级为错误。
这样,当出现空片时,您的代码将抛出异常并中断,您将能够看到它发生的位置:
>>> import numpy as np
>>> np.seterr(all="raise")
{'divide': 'warn', 'over': 'warn', 'under': 'ignore', 'invalid': 'warn'}
>>> np.mean([]) # raises FloatingPointError
https://stackoverflow.com/questions/63822171
复制相似问题