Python 3.4+до 3.15pathlibфункция
pathlib.PurePath.is_reserved()
удалено
Проверяла, зарезервировано ли имя пути в Windows (NUL, CON). Удалён в Python 3.15 — используйте os.path.isreserved().
Синтаксис
PureWindowsPath('nul').is_reserved() # до 3.15
Метод отвечал True для имён вроде NUL, CON или COM1, которые Windows не даёт использовать как имена файлов; для POSIX-путей всегда был False. Его убрали, потому что правила Windows сложнее, чем умел метод, и проверка переехала в os.path. Как переписать: path.is_reserved() меняется на os.path.isreserved(path) — функция есть только в Windows, начиная с 3.13. Чтобы проверить имя под Windows на любой системе, вызывайте ntpath.isreserved(path): ntpath — реализация os.path для Windows, и импортируется он везде.
Примеры
# Python 3.15+
import pathlib
try:
pathlib.PurePath.is_reserved
except AttributeError as e:
print(type(e).__name__) # → AttributeError
# Python 3.15+
import ntpath
print(ntpath.isreserved('NUL'), ntpath.isreserved('notes.txt')) # → True False
from pathlib import PurePosixPath, PureWindowsPath
print(PureWindowsPath('nul').is_reserved()) # → True
print(PurePosixPath('nul').is_reserved()) # → False
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности