Попрощайтесь с os.path: Время использовать pathlib по-взрослому
Если вы до сих пор пишете os.path.join(os.path.dirname(__file__), 'data', 'file.txt'), пришло время остановиться. В Python уже почти 10 лет (с версии 3.4) существует модуль pathlib, который делает работу с файловой системой интуитивно понятной, безопасной и кроссплатформенной.
Давайте разберем, почему объектно-ориентированный подход побеждает, и посмотрим на цифры.
Синтаксис: Глаза не болят
Главное преимущество - наглядность. Вместо вложенных функций мы используем оператор `/`. Это не просто красиво, это читается как настоящий путь в файловой системе.
Старый стиль (os.path):
import os
config_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'config', 'settings.json')
Новый стиль (pathlib):
from pathlib import Path
config_path = Path(__file__).parent / 'config' / 'settings.json'
Согласитесь, второй вариант сразу говорит сам за себя.
Джекпот функций «из коробки»
Path - это не просто строка. Это объект, который содержит десятки методов для любых сценариев:
* Навигация: Path.cwd() - текущая директория, Path.home() - домашняя папка.
* Проверки: path.exists(), path.is_file(), path.is_dir().
* Операции: path.resolve() - получить абсолютный путь, path.with_suffix('.txt') - сменить расширение, path.with_name('new.csv') - сменить имя файла.