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

标签 python opencv testing exception

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

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


try:
 cv2.imwrite('test.png',frame)
except IOError:
 print("ERROR ON WRITING")

虽然这会捕获异常,但我想知道这是否还会捕获其他异常以及如何只捕获磁盘已满的异常,以及对此代码段进行测试的最佳实践是什么(除了填充我的磁盘有太多东西以至于硬盘驱动器真的满了)

最佳答案

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

    except OSError as e:
        if e.errno == errno.ENOSPC:

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

psutil.disk_usage(path).free

关于python - 使用 OpenCV 在 Python 中模拟磁盘上没有剩余空间的异常的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50438674/

相关文章:

opencv - 使用opencv/Emgucv进行屏幕检测

c++ - cv::Mat 在分配给 'at<unsigned char>(0,0)' 时导致崩溃

python - 在 for 循环中直接调用 SeqIO.parse() 可以,但是事先单独使用它不行吗?为什么?

python - 使用 imshow 将连续图像/数组显示为 python 中的重复动画

python - 如何检查字典中的值是否都具有相同的值 X?

opencv - 使用 cv_bridge(ROS indigo) 和 OpenCV 3 时出现段错误(核心已转储)

unit-testing - 将一个测试分成多个测试有哪些经验法则?

testing - 在 Elixir 中生成响应数据时避免模拟

testing - Junit REST 测试?

python - 在 f-string 中格式化变量,小数位数可变