Python Glossary English

Python 3.13+pathlibисключение

pathlib.UnsupportedOperation

исключения

Подкласс NotImplementedError: бросается, когда операция pathlib недоступна на этой платформе — например symlink_to()/readlink() без os.symlink или PosixPath на Windows. Python 3.13+.

Синтаксис

pathlib.UnsupportedOperation

Класс появился только в Python 3.13, поэтому except pathlib.UnsupportedOperation на 3.12 и раньше упадёт с AttributeError ещё до того, как что-то пойдёт не так. Кросс-версионный код ловит NotImplementedError: UnsupportedOperation — его подкласс, а старые версии pathlib бросали именно NotImplementedError. Такая ошибка значит не баг в вашем коде, а что операции просто нет на этой платформе, — реагировать надо запасной веткой поведения, а не повтором вызова.

Примеры

import pathlib
Unsupported = getattr(pathlib, 'UnsupportedOperation', NotImplementedError)
print(issubclass(Unsupported, NotImplementedError))   # → True
print(issubclass(Unsupported, RuntimeError))   # → True
print(isinstance(Unsupported('symlink недоступен'), NotImplementedError))   # → True
print(hasattr(pathlib.Path, 'symlink_to'))   # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности