Удаление папок по маске 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 в начале
