python - 显示返回 'Mean of empty slice'的行

标签 python list numpy error-handling printing

我的代码中有多个实例,用于计算列表的均值。因此,我正在寻找一种方法来显示代码行,与任何普通错误一样,在其中出现“空片均值”警告。
输入的是普通列表[1,2,3]或numpy列表np.array([1,2,3])所以我想要这样的事情:File "file_name.py", line <line_number> in <folder_number>到目前为止,我可以打印出所有均值计算结果,如下所示:

test1 = np.mean([1,2,3])
print('test1',test1)
但是,我认为,对于代码中存在许多此类计算的情况而言,这是多余的。
有没有办法更改警告的配置,使其返回此信息?

最佳答案

您可以使用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

关于python - 显示返回 'Mean of empty slice'的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63822171/

相关文章:

Python - 如何使用另一个函数创建测试函数?

python - 计算多个并行数组的最优雅/高效/Pythonic 方法?

python - 使用 SublimREPL 插件更改用于评估文件的 Python 版本

java - Jaxb 未编码列表为空

c# - 列表 - 如何通过引用查找项目?

python - pandas 中的 dcast 和聚合长度

c# - C# 比较 2 个不同大小的整数列表

python - 声明 basinhopping 优化的约束

python - 如何使用@cython装饰器声明np.ndarray类型

python - 如何将 .pts 或 .npy 文件转换为 .ply 或 .h5 文件?