Лучшая практика для симуляции исключения при отсутствии свободного места на диске в Python с OpenCV - PullRequest
0 голосов
/ 20 мая 2018

В настоящее время я пишу класс-оболочку для реализации захвата изображений с помощью веб-камеры в OpenCV.Я хочу поймать исключение ошибки, когда место на диске заполнено.Код для него будет выглядеть следующим образом:

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


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

Хотя это будет перехватывать исключение, мне было интересно, будет ли это также перехватывать другие исключения и как перехватить исключение только для заполненного диска, и что будетбыть лучшим методом для тестирования этого фрагмента кода (помимо заполнения моего диска таким большим количеством материала, что жесткий диск действительно заполнен)

1 Ответ

0 голосов
/ 20 мая 2018

Используйте OSError и проверьте результат для errno.ENOSPC :

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

Для проверки свободного места на диске вы можете использовать:

psutil.disk_usage(path).free
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...