Безопасная чистилка Temp: как удалять файлы и ничего не сломать
MedveDux 39 минут назад Безопасная чистилка Temp: как удалять файлы и ничего не сломать Простой 5 мин 1.1K Python * Windows * Кейс Из песочницы Захламился %TEMP%, набралось гигов пять. Ну, думаю, накидаю утилитку —...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: MedveDux 39 минут назад Безопасная чистилка Temp: как удалять файлы и ничего не сломать Простой 5 мин 1. 1K Python * Windows * Кейс Из песочницы Захламился %TEMP%, набралось гигов пять. Ну, думаю, накидаю утилитку — кнопка «почистить» да галка «делай это само раз в неделю».
Задача — проще некуда: пройтись по папке, поудалять старое. Весь код — пара сотен строк на Python. Но пока писал, попалось несколько штук, про которые захотелось рассказать.
Технические детали
Не потому что сложные, а потому что неочевидные и местами прикольные. Вот про них и поговорим, саму рутину с os. «Удалить всё» не катит — и это, по сути, единственное, что тут надо понятьTemp только выглядит помойкой.
На деле там прямо сейчас лежат файлы, которыми кто-то пользуется: установщик распаковался и работает, браузер держит кэш сессии, апдейтер докачивает пакет. Снести всё подчистую — значит с ненулевым шансом прервать это на середине. Поэтому одно правило, из которого дальше всё вытекает: непонятно — не удаляем.
Любое сомнение трактуем в сторону «оставить». Всё, дальше просто аккуратно раскладываем это правило по мелочам. На практике оно превращается в три вещи.
Отраслевые последствия
Свежее не трогаем — всё моложе суток пропускаем, потому что оно скорее всего кому-то нужно. Занятое не трогаем — если файл держит процесс, Windows сам не даст его удалить, и слава богу, я и не лезу. Ну и список исключений — маски типа nvidia*, которые не тронутся никогда.
Дальше — те самые занятные детали. Что считать «свежим» — и забавная штука про время на виндеЛогично взять mtime и сравнить с «сейчас минус сутки». Я решил заодно глянуть на время создания файла — на винде оно в Python лежит в st_ctime (на Unix ctime про метаданные, а на винде исторически именно про рождение файла).
А потом заметил прикол: в Python 3. 12 это поле потихоньку депрекейтят — завезли отдельный st_birthtime, а st_ctime обещают со временем переосмыслить. Где-то даже всплывало, что у объектов из os.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






