👨‍💻 Минутка почти еженедельной рубрики «какого черта вы это делаете руками в 2025?».

Сегодняшний пациент — самописные скрипты для отслеживания изменений файлов.

Видел это миллион раз: бесконечный цикл, внутри os.walk, time.sleep(1) и сверка mtime. Наивный, прожорливый и кривой костыль, который жрет CPU впустую, даже когда ничего не происходит. Чуть лучше — взять старый-добрый watchdog.

Но есть watchfiles.

Это библиотека с ядром на Rust, использующее нативные API ОС (inotify на Linux, FSEvents на macOS и т.д.), и удобная обертка на Python. Пока событий нет — потребление ресурсов нулевое. Реакция мгновенная.

Это тот же паттерн, что и у Ruff, Polars или uv: тяжелую, низкоуровневую работу, где важна производительность, мы делегируем нативному коду. А в Python оставляем удобство и бизнес-логику.

Я тут расписал все это в деталях: заглянул под капот watchfiles, сравнил с watchdog и самописными костылями, показал, как пользоваться CLI и для чего это вообще нужно в разработке.

👉 Читать: watchfiles: руководство по эффективному мониторингу файлов в Python

Или вы до сих пор считаете, что while True + os.walk — это норм? Расскажите, почему 🌚

#это_база

👨‍💻 Минутка почти еженедельной рубрики «какого черта вы это делаете руками в 2025?».
Сегодняшний пациент — самописные скрипты для отслеживания изменений файлов | Сетка — социальная сеть от hh.ru