/trashcleaner

trashcleaner

Primary LanguagePython

trashcleaner

trashcleaner

Проблема:

Есть дерево каталогов, где документы редактируются пользователями. Для каждого открытого документа создается резервная копия в формате .bak (doc1.bak для doc1.doc). В общем случае, резервные копии удаляются при закрытии файла, но иногда они остаются и не очищаются после работы. Документы могут быть удалены или перемещены, в таком случае в директории могут остаться bak файлы, которые не имеют соответствующего родительского doc файла. Необходимо удалить все такие резервные копии без родительского файла в заданном дереве каталогов. Также в дереве каталогов не нужны пустые директории.

Задание:

Реализуйте небольшое консольное приложение, которое, начиная с корневой папки, заданной в качестве параметра, - удаляет файлы .bak без соответствующего родительского документа, а затем удаляет папку (опционально, если передан параметр), если по окончанию процесса очистки папки она осталась пустой.

Скрипт должен запускаться из консоли и принимать обязательный параметр “путь к корневой папке”, а также необязательный параметр - удалять пустую папку или нет.

При реализации использовать OOP подход и не использовать frameworks. Отдельные пакеты и библиотеки можно использовать при необходимости.