Python Glossary English

Python 3.4+pathlibпонятие

pathlib.PosixPath

конкретные пути

Конкретный путь с вводом-выводом на POSIX-системах (Linux/macOS); что возвращает Path() там. Подкласс PurePosixPath.

Синтаксис

pathlib.PosixPath(*segments)

Писать PosixPath в коде почти никогда не нужно: Path() сам подставляет нужный класс на каждой ОС, а на Windows создать PosixPath просто не выйдет — будет UnsupportedOperation (до 3.13 — NotImplementedError). Если надо разобрать POSIX-путь на чужой платформе, без обращения к диску, бери PurePosixPath: он работает везде. Ещё частая путаница при отладке — print(список_путей) печатает repr и показывает PosixPath('a/b'); саму строку пути даёт str(p).

Примеры

import pathlib
print(issubclass(pathlib.PosixPath, pathlib.PurePosixPath))   # → True
print(issubclass(pathlib.PosixPath, pathlib.Path))   # → True
print(issubclass(pathlib.PosixPath, pathlib.WindowsPath))   # → False
print(hasattr(pathlib.PosixPath, 'read_text'), hasattr(pathlib.PurePosixPath, 'read_text'))   # → True False
print(type(pathlib.Path()).__name__)   # → PosixPath на Linux/macOS, WindowsPath на Windows

См. также

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