Удаление папок по маске Python

Возникла такая задача: необходимо удалить папки с паттерном как на скриншоте (выделено синим) игнорируя остальные. Как удалить папки только с маской как на скриншоте? Названия генерируются случайно, но маска всегда одна и та же.

Описание маски


Ответы (1 шт):

Автор решения: handowl

В Вашем случае возможно два варианта. Первый - регулярное выражение. Второй - простая проверка на то, чтобы папка не заканчивалась на '.pfl'. Соответственно, в result1 - лежит результат по первому варианту, а в result2 - по второму.

import re
import os
'''
folders = [ '00e1Ged6-ff7d-4368-806d-9cf53cd2c282',
            '6c6de73d-63a2-423d-854c-bf2f40240ch7',
            '6f308d46-659e-4555-a09F-bc859061cab4',
            '7c0929da-5660-42cb-b586-be38ceefed63',
            '23f8b0a1-9405-4ce7-ac8c-1fbfedfde3b5',
            '65c50a2b-51f3-4b31-8f1f-edlfca7cl54e',
            '97f4a72f-7c5f-Ad02-3426-b66017bb3435',
            '385daalc-71d9-4023-80c7-Sd2fd9dc052e',
            '0484e60c-42d1-430a-adb3-607b095b7d8b',
            '7585f08e-c4e3-467a-a393-190fcdestf74',
            '7603f8cd-b287-4aa1-90e5-daa0afffb1e2',
            '718769a0-fb8d-4777-906b-bf2d17a70c58',
            'b3fb215a-d8df-4284-b504-2e5a33e6flce',
            'dbd87e20-092d-4733-9b82-343ffbfebarc',
            'fe03e772-cb48-4754-9abc-1eb3fb03e782',
            '1cv8.pfl',
            '1cv8e.pfl',
            '1cv8cmn.pfl',
            '1cv8strt.pfl',
            '1cv8u.pfl'
            ]

'''
folders = [name for name in os.listdir(os.getcwd()) if os.path.isdir(name)]

reg = r'[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}'

result1 = [f for f in folders if re.match(reg, f)]
result2 = [f for f in folders if f.endswith('.pfl') == False]

Ну и, конечно же, вы можете удалить список folders в начале

→ Ссылка