You need to enable JavaScript to run this app. pytest触发警告时如何查看引发警告的变量的完整精确值?
优惠活动
大模型
产品
解决方案
定价
更多

pytest触发警告时如何查看引发警告的变量的完整精确值?

解决方案
  • 原因说明:你遇到的浮点数值截断不是pytest的输出逻辑导致的,是numpy数组默认打印精度仅为2位的默认配置导致的,只要调整numpy的打印参数即可输出完整精度的数值。
  • 方法1:临时通过命令行注入配置,无需修改代码
    直接运行如下命令替代原有的pytest命令:
    python -c "import numpy as np; np.set_printoptions(precision=16, suppress=False); import pytest; pytest.main(['-W', 'error', '*.py'])"
    
    其中precision参数可以根据你需要保留的小数位数调整,suppress=False可以保证极小/极大值不会被强制转换成科学计数法,如有需要可以改为True。
  • 方法2:全局适配测试目录的打印配置
    在你的测试文件根目录新建conftest.py文件,添加如下内容:
    import numpy as np
    import pytest
    
    def pytest_sessionstart(session):
        np.set_printoptions(precision=16, suppress=False)
    
    之后正常运行pytest -W error *.py命令,所有numpy数组都会输出完整精度的数值。

内容的提问来源于stack exchange,提问作者f. c.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 14:45:04