Python 3.4+pathlibпонятие
/ оператор
объединение
Оператор / для объектов Path объединяет компоненты пути, аналог os.path.join().
Синтаксис
Path('dir') / 'subdir' / 'file.txt'
Склейка чисто текстовая: диск не трогается, существование не проверяется, и '..' не схлопывается — Path('a/b') / '..' так и останется 'a/b/..', пока не позовёте resolve(). Абсолютный компонент справа обнуляет всё, что было слева: Path('/home/user') / '/etc' даёт просто '/etc' — ловушка, когда правая часть приходит из пользовательского ввода. Достаточно, чтобы Path был с одной стороны, вторым операндом может быть обычная строка.
Примеры
from pathlib import Path
base = Path('/home/user')
p = base / 'docs' / 'report.txt'
str(p) # → '/home/user/docs/report.txt'
Path('/etc') / 'nginx' / 'nginx.conf' # → PosixPath('/etc/nginx/nginx.conf')
from pathlib import Path
Path('src') / Path('main.py') # → PosixPath('src/main.py')
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности