Как удалить файлы с определенным именем в нескольких папках? Python
Есть архив состоит из папок, названых датами. Необходимо пробежаться по каждой папке архива и удалить определенные файлы формата xlsm.
Понял только как удалить определенный файл, а как несколько нет(
import os
path = "C:/Archive/01-10-2021"
a = 'AL010.xlsm' # Нужно удалить AL010, M_4613,SG010, и др. при том, что существуют другие файлы начинающиеся с AL*,M_*,SG*
for i in os.listdir(path):
if a in i:
full_file_path = os.path.join(path, a)
os.remove(full_file_path)
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Я бы сделал через glob (позволит задать шаблон), используя pathlib.
Пример:
from pathlib import Path
path = Path('C:/Archive/01-10-2021')
for file_name in path.glob('AL*.xlsm'):
file_name.unlink()
Если поиск нужно сделать в папках с неопределенной вложенностью, то вместо glob использовать rglob, тогда поиск файла будет от текущей папки в path и в вложенных папках