Здесь мы рассмотрим эти строки кода одну за другой.
except IOError as exc:
Приведенная выше строка просто перехватывает исключение и получает сообщение об ошибке в переменной exc
.Что означает исключение, так это
, когда системная функция возвращает системную ошибку, включая сбои ввода-вывода, такие как «файл не найден» или «диск заполнен» (не для недопустимыхтипы аргументов или другие случайные ошибки). Документы Python 3
Обратите внимание, что в Python 3 это теперь OSError
, поскольку IOError
объединено с ним.
if exc.errno != errno.EISDIR:
Эта строка будетпроверьте тип ошибки.Это дается атрибутом errno
ошибки.В частности, errno.EISDIR
означает, что данная ошибка произошла, потому что «файл» на самом деле был папкой / каталогом.Дополнительную информацию можно найти здесь: D .
raise
Теперь оператор if прошел и проверил тип ошибки.Он только пропускает сюда raise
, если тип ошибки НЕ означает, что указанный путь был каталогом.Это означает, что исключение может означать что угодно, от «Отказано в доступе» и «Недостаточно памяти».
Надеюсь, что выручил вас: D