Python Glossary English

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