使用 OpenCV 在 Python 中模拟磁盘上没有剩余空间的异常的最佳实践

Kev*_*n91 6 python testing opencv exception

我目前正在为使用网络摄像头捕获图像的 OpenCV 实现编写包装类。我想在磁盘空间已满时捕获错误异常。它的代码如下所示:

cap = cv2.VideoCapture(cam_idx)
ret, frame = cap.retrieve()


try:
 cv2.imwrite('test.png',frame)
except IOError:
 print("ERROR ON WRITING")
Run Code Online (Sandbox Code Playgroud)

虽然这会捕获异常,但我想知道这是否也会捕获其他异常以及如何仅捕获磁盘已满的异常,以及对此代码片段进行测试的最佳实践是什么(除了用这么多东西,硬盘真的满了)

Jos*_*oss 3

使用OSError并检查errno.ENOSPC的结果:

    except OSError as e:
        if e.errno == errno.ENOSPC:
Run Code Online (Sandbox Code Playgroud)

要检查可用磁盘空间,您可以使用:

psutil.disk_usage(path).free
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的输入,这只会显示如何捕获错误,但不会显示如何模拟此错误以进行测试 (2认同)