0Pricing
Python Academy · Урок

Манипуляции с путями

Объединяйте, разрешайте и анализируйте пути

«Манипуляции с путями» — бесплатный урок Python Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Просмотр и преобразование путей

Помимо создания путей, pathlib позволяет преобразовывать их в абсолютный вид, проверять отношения между ними и читать метаданные файловой системы — и всё это без обращения к os.path.

Абсолютные и относительные пути

is_absolute() сообщает, начинается ли путь от корня. Относительные пути интерпретируются относительно текущего каталога.

from pathlib import Path

print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())

Разрешение пути

resolve() преобразует путь в абсолютный и сворачивает сегменты . и ... Это основной метод для нормализации путей.

from pathlib import Path

p = Path('a/b/../c/file.txt')
print(p.resolve())

Объединение с помощью joinpath

Помимо оператора /, метод joinpath() добавляет один или несколько компонентов. Он особенно удобен, когда компоненты получены из списка.

from pathlib import Path

base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))

Относительный путь между двумя местоположениями

relative_to() вычисляет путь одного местоположения относительно другого. Метод вызывает исключение, если путь не находится внутри указанной основы.

from pathlib import Path

full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)

Проверка префикса с помощью is_relative_to

is_relative_to() безопасно проверяет, находится ли один путь внутри другого, возвращая логическое значение вместо вызова исключения.

from pathlib import Path

p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))

Несколько расширений

Для имён вроде archive.tar.gz свойство suffixes перечисляет все расширения, а suffix возвращает только последнее.

from pathlib import Path

p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)

Якорь и диск

Свойство anchor — корневая часть пути. В POSIX это обычно /, а в Windows оно включает букву диска.

from pathlib import Path

p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)

Чтение метаданных файла

stat() возвращает метаданные файловой системы, например размер в байтах. Здесь мы создаём файл и считываем его размер.

from pathlib import Path

p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')

Переименование и перемещение

rename() изменяет местоположение или имя пути. В сочетании с методами построения путей этот метод позволяет кратко реорганизовывать файлы.

from pathlib import Path

old = Path('old_name.txt')
old.write_text('data')
new = old.with_name('new_name.txt')
old.rename(new)
print(new.exists(), new.read_text())

Разворачивание сокращения домашнего каталога

expanduser() заменяет начальный символ ~ домашним каталогом пользователя, подобно тому как это делает оболочка.

from pathlib import Path

p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())

Быстрая проверка

Что делает метод resolve() с путём?

Итоги

Вы научились объединять, разрешать и просматривать пути.

  • resolve создаёт абсолютный нормализованный путь.
  • relative_to и is_relative_to сравнивают местоположения.
  • suffix, suffixes, anchor и parts показывают структуру пути.
  • stat считывает метаданные, а rename перемещает файлы.

Часто задаваемые вопросы

Урок «Манипуляции с путями» бесплатный?

Да — полный текст урока «Манипуляции с путями» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Манипуляции с путями»?

Объединяйте, разрешайте и анализируйте пути Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Манипуляции с путями»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объект Path
  2. Чтение и запись файлов
  3. Поиск по шаблонам и итерация
  4. Манипуляции с путями
← Назад к Python Academy