Русский
Открыть в Telegram

Пост ✈️Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё использу…

3 декабря 2024
P
Pythoner
Фотография
✈️Сегодня поговорим о том, как сделать работу с путями в Python более элегантной и современной. Если вы всё ещё используете os.path, то пора двигаться вперёд! ➡️Модуль pathlib появился в Python 3.4 и полностью изменил правила игры. Это как пересесть с древнего велосипеда на Tesla – всё те же базовые принципы, но сильно удобнее! 🔎Почему стоит перейти на pathlib? —Объектно-ориентированный подход вместо строковых операций —Кроссплатформенность из коробки —Цепочки методов, которые читаются как поэзия —Меньше кода, больше смысла ➡️Практические примеры: # Старый подход с os.path import os.path file_path = os.path.join('data', 'users', 'config.json') parent_dir = os.path.dirname(file_path) file_name = os.path.basename(file_path) # Новый подход с pathlib from pathlib import Path file_path = Path('data') / 'users' / 'config.json' parent_dir = file_path.parent file_name = file_path.name 👀Крутые фишки pathlib, о которых вы могли не знать: ➡️Проверка существования файла: path = Path('config.json') if path.exists(): print('Файл существует!') ➡️Создание директорий одной командой: Path('nested/directories/structure').mkdir(parents=True, exist_ok=True) ➡️Поиск файлов по маске (glob): # Найти все .py файлы в текущей директории python_files = list(Path('.').glob('*.py')) ➡️Работа с суффиксами и расширениями: path = Path('document.pdf') print(path.suffix) # .pdf print(path.stem) # document ➡️А теперь самое вкусное – цепочки методов: config_path = (Path.home() / 'projects' / 'app' / 'config.json') if config_path.exists(): data = json.loads(config_path.read_text()) ➡️Pro-tip: pathlib отлично работает с контекстными менеджерами: with Path('log.txt').open('w') as f: f.write('Logging started') 🔎Когда стоит использовать os.path? Практически никогда! Разве что при работе с легаси-кодом или если вам нужны какие-то очень специфические операции с путями. ⚡️В заключение: pathlib – это не просто альтернатива os.path, это следующий эволюционный шаг в работе с файловой системой в Python. Он делает код чище, понятнее и приятнее в поддержке. Если вы ещё не перешли на pathlib, самое время начать! 🐍Pythoner
51 · 1.9K ·

Рядом в ленте

PPythoner✈️Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля. ➡️Простой пPPythoner✈️Сегодня поговорим о настоящей магии в мире Python – метапрограммировании и динамическом создании функций. ➡️Начнем с простого примера. Помните eval() и exec()
это сообщение
PPythoner✈️Humanize — это библиотека для Python, которая помогает преобразовывать текстовые представления чисел, дат и других значений в более удобочитаемый человекообраPPythoner✈️rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории. Синтаксис функции: os.rename(old_name, new_name) ➡️Пример использов

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем