Объект Path
Создавайте пути современным способом
«Объект Path» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Современная работа с путями
Модуль для работы с путями представляет пути файловой системы как объекты, а не обычные строки. Объект Path умеет объединять, разделять и анализировать себя, заменяя множество разрозненных функций os.path.
Создание пути
Импортируйте Path и создайте объект из строки. При выводе на экран отображается текст пути.
from pathlib import Path
p = Path('folder/file.txt')
print(p)Объединение с помощью оператора /
Оператор косой черты объединяет части пути. Это гораздо понятнее конкатенации строк, а разделители корректно обрабатываются в любой ОС.
from pathlib import Path
base = Path('data')
full = base / 'reports' / 'march.txt'
print(full)Имя, основа и суффикс
Путь предоставляет свои части в виде свойств: name — последний компонент, stem — имя без расширения, а suffix — расширение.
from pathlib import Path
p = Path('data/report.csv')
print(p.name)
print(p.stem)
print(p.suffix)Родительский каталог
Свойство parent возвращает содержащий каталог как ещё один объект Path. Обращайтесь к нему по цепочке, чтобы подниматься вверх.
from pathlib import Path
p = Path('a/b/c/file.txt')
print(p.parent)
print(p.parent.parent)Все части
Свойство parts возвращает кортеж всех компонентов пути, что удобно для перебора его частей.
from pathlib import Path
p = Path('usr/local/bin')
print(p.parts)Изменение расширения
with_suffix() возвращает новый путь с другим расширением, а with_name() заменяет весь последний компонент.
from pathlib import Path
p = Path('report.txt')
print(p.with_suffix('.md'))
print(p.with_name('summary.txt'))Текущий и домашний каталоги
Методы класса Path.cwd() и Path.home() возвращают текущий рабочий каталог и домашний каталог пользователя.
from pathlib import Path
print(type(Path.cwd()))
print(type(Path.home()))Проверка существования и типа
Запрашивайте сведения о файловой системе с помощью exists(), is_file() и is_dir(). Они возвращают логические значения и не вызывают исключение, если путь не существует.
from pathlib import Path
p = Path('definitely_not_here_12345.txt')
print(p.exists())
print(p.is_file())
print(p.is_dir())Пути можно преобразовать в строки при необходимости
Большинство функций для работы с файлами напрямую принимают объекты Path. Если Вам действительно нужна строка, оберните объект в str().
from pathlib import Path
p = Path('data') / 'file.txt'
text = str(p)
print(text)
print(type(text))Кроссплатформенный подход
Объект Path автоматически использует правильный разделитель для операционной системы, в которой выполняется программа. Вы пишете один и тот же код с объединением через /, а он создаёт корректные пути в Linux, macOS и Windows.
from pathlib import Path
p = Path('config') / 'settings' / 'app.ini'
print(p)
print(p.name)Быстрая проверка
Что делает оператор / с объектами Path?
Итоги
Вы научились современным способом создавать пути.
Pathпредставляет путь в файловой системе как объект.- Объединяйте пути с помощью
/, а просматривайте их свойства с помощьюname,stem,suffix,parentиparts. with_suffixиwith_nameсоздают производные пути.- Проверяйте файловую систему с помощью
exists,is_fileиis_dir.
Часто задаваемые вопросы
Урок «Объект Path» бесплатный?
Да — полный текст урока «Объект Path» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объект Path»?
Создавайте пути современным способом Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Объект Path»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.