0Pricing
Python Academy · Урок

Работа с путями файлов с помощью pathlib

Перемещайтесь по путям файлов и изменяйте их с помощью современного модуля pathlib.

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

Введение

pathlib предоставляет объектно-ориентированный интерфейс для путей файловой системы, заменяя хрупкую работу со строками через os.path.

Создание пути

from pathlib import Path; p = Path('data/file.txt') создаёт объект пути. Он работает на всех платформах.
from pathlib import Path
p = Path('data/file.txt')
print(p)

Объединение путей с помощью /

p = Path('data') / 'subdir' / 'file.txt' использует оператор / для объединения компонентов пути — это удобно и кроссплатформенно.
from pathlib import Path
p = Path('data') / 'sub' / 'file.txt'
print(p)

Свойства пути

p.name возвращает имя файла. p.stem возвращает имя без расширения. p.suffix возвращает расширение. p.parent возвращает каталог.
from pathlib import Path
p = Path('data/report.csv')
print(p.name, p.stem, p.suffix, p.parent)

Проверка существования

p.exists() возвращает True, если путь существует. p.is_file() используется для файлов, а p.is_dir() — для каталогов.
from pathlib import Path
p = Path('/tmp')
print(p.exists(), p.is_dir(), p.is_file())

Чтение и запись

p.read_text(encoding='utf-8') читает файл как строку. p.write_text('content') записывает строку.
from pathlib import Path
p = Path('/tmp/test_pathlib.txt')
p.write_text('hello pathlib')
print(p.read_text())

Перебор содержимого каталога

for child in p.iterdir(): возвращает объекты Path для всех элементов. p.glob('*.py') находит элементы, соответствующие шаблонам.
from pathlib import Path
for child in Path('/tmp').iterdir():
    if child.suffix == '.txt':
        print(child.name)
        break

Рекурсивный поиск по шаблону

p.rglob('*.json') рекурсивно находит все файлы .json внутри p. Это гораздо удобнее, чем os.walk().
from pathlib import Path
for f in Path('/tmp').rglob('*.txt'):
    print(f.name)
    break

Создание каталогов

p.mkdir(parents=True, exist_ok=True) создаёт каталог и все родительские каталоги. exist_ok=True предотвращает FileExistsError.
from pathlib import Path
Path('/tmp/test_dir/sub').mkdir(parents=True, exist_ok=True)
print('created')

Переименование и удаление

p.rename(new) переименовывает файл. p.unlink() удаляет файл. p.rmdir() удаляет пустой каталог.
from pathlib import Path
p = Path('/tmp/test_pathlib.txt')
if p.exists():
    p.unlink()
    print('deleted')

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

p.resolve() возвращает абсолютный путь с разрешёнными символическими ссылками. p.relative_to(base) вычисляет относительный путь.
from pathlib import Path
print(Path('.').resolve())

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

Какой оператор объединяет компоненты Path в pathlib?

Итоги

Path из pathlib: / объединяет части. .name/.stem/.suffix/.parent используются для работы с компонентами. read_text/write_text — для ввода-вывода. mkdir, unlink и glob — для операций с файловой системой.

Продолжайте обучение

Отличная работа! Перейдите к следующему уроку, чтобы продолжить обучение.

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

Урок «Работа с путями файлов с помощью pathlib» бесплатный?

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

Чему я научусь в уроке «Работа с путями файлов с помощью pathlib»?

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

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

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

Сколько времени занимает урок «Работа с путями файлов с помощью pathlib»?

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

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

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

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

  1. Открытие и чтение файлов
  2. Запись и добавление данных в файлы
  3. Использование оператора with для работы с файлами
  4. Работа с путями файлов с помощью pathlib
← Назад к Python Academy