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