Прямое практическое продолжение блока 2: те же операции, что раньше вводились командами в терминале, теперь доступны прямо изнутри Python-кода — без выхода в отдельную оболочку.
Каждая из этих функций — прямой программный эквивалент команды терминала, уже знакомой из
блока 2: os.getcwd() делает то же, что pwd в Bash (глава 09) или
просто cd без аргументов в CMD (глава 10), только результат возвращается
Python-программе как строка, готовая к дальнейшей обработке в коде, а не просто выводится
на экран.
pathlib работает с путями как с объектами, а не просто строками текста —
концептуально похоже на то, чем PowerShell (глава 11) отличается от Bash/CMD: не текст,
который приходится разбирать вручную, а структура с осмысленными свойствами и методами.
Прямо сейчас видна практическая польза от темы главы 10: Windows использует обратный
слэш в путях, macOS/Linux — прямой. Собирая путь через folder / "report.txt",
pathlib сам подставляет правильный разделитель для той операционной системы, где
реально выполняется код — не нужно вручную выбирать между \\ и
/ в зависимости от платформы, о чём предупреждала глава 18 применительно к
сырым строкам для путей Windows.
.glob() — то же самое использование подстановочных знаков (*),
что уже встречалось в командной строке (главы 09–10), только теперь результат — не просто
вывод на экран, а список объектов путей, с которыми программа может делать что угодно
дальше — переименовывать, читать, фильтровать по любому условию.
Модуль os старше и до сих пор широко используется, особенно в уже существующем
коде и во многих учебных материалах. pathlib, появившийся позже,
предлагает более современный, читаемый и платформо-независимый способ работы с путями — для
нового кода это, как правило, более разумный выбор по умолчанию, хотя знать оба варианта
полезно, поскольку оба реально встречаются на практике.
Этот пример — прямая заготовка для следующей главы: массовое переименование файлов по
маске — одна из самых частых реальных задач автоматизации, объединяющая пути (эта глава),
строковое форматирование (f"{i:03d}" — число с ведущими нулями, глава 14) и
обход файлов из этой же главы.
Финальная глава этого блока — настоящие законченные скрипты автоматизации: массовое переименование файлов по маске и разбор текста, объединяющие практически всё, что изучено в блоках 3 и 4 книги.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.