Python 3.3+Исключенияисключение
NotADirectoryError
встроенные исключения
Операция ожидала каталог, но получила не-каталог (подкласс OSError).
Синтаксис
raise NotADirectoryError
Возникает не на пустом месте, а когда путь, обязанный быть каталогом, на деле оказывается файлом: os.listdir('data.txt'), os.scandir по файлу, открытие 'data.txt/inner.txt', где промежуточный компонент — обычный файл. Разумная реакция — проверить Path.is_dir() до операции, а в except ловить более общий OSError: на разных ОС одна и та же ситуация может прилететь другим подклассом (например, FileNotFoundError).
Примеры
try:
raise NotADirectoryError
except NotADirectoryError as e:
print(type(e).__name__) # → NotADirectoryError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности