Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Удаление файлов в папке и подпапках по шаблону в Python

Подскажите пожалуйста как написать скрипт на Питоне.
Задача такова:
Есть одна папка, в ней есть множество подпапок, и в них лежат видео файлы, аудио файлы, различные документы, и тому подобное. Так же среди них имеются нежелательные файлы с одинаковыми именами и типами файла, к примеру (ляляля.doc блаблабла.url .docx и тому подобные), и вот такие в каждой папке и подпапке.
Так вот нужно написать такой скриптик, что бы он удалял такие файлы, и что-бы можно было в этот скрипт добавлять в базу новые имена файлов которые тоже нужно будет удалять (так сказать постепенно расширять базу этих нежелательных файлов)
Заранее благодарен за помощь!

По дате
По рейтингу
Аватар пользователя
Ученик

Данный скрипт удаляет все файлы, указанные в списке FILE_NAMES.
Поиск файлов начинается с папки, указанной в BASE_PATH. Точка означает папку, в которой находится сам скрипт.
Вложенность папок может быть любой.
В конце работы скрипт выводит список всех удалённых файлов.

1234567891011121314151617181920
 # Имена файлов, подлежащих удалению. 
FILE_NAMES = [ 
    'file1.txt', 
    'file2.png', 
] 
 
# Путь к корневой папке (от которой нужно начинать поиск файлов). 
# Может быть относительным или абсолютным. 
BASE_PATH = '.' 
 
from pathlib import Path 
 
removed_files = [] 
for file in Path(BASE_PATH).rglob('*'): 
    if file.is_file() and file.name in FILE_NAMES: 
        file.unlink(missing_ok=True) 
        removed_files.append(file) 
 
print('Удалённые файлы:', *removed_files, sep='\n')