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Сообщить о неточности