У меня есть структура каталогов с идентификатором порта, и в этом каталоге идентификатора порта есть подкаталоги своего типа, и в этом каталоге типа порта он может иметь или не иметь некоторые файлы .jpg , такие что
Port ID- **11852**---> 20Port_1
---> 25Port_1 ---> 1.jpg
---> 25Port_2
---> 25Port_3 --> abc.jpg
---> 75Port_1
---> 75Port_2 --> pqr.jpg
Таким образом, имя каталога "11852" состоит из 6 подкаталогов внутри него, у нас есть только один тип 20Port
, поэтому в конце его имени это _1
, также у нас есть 3 типа25Port
, так _1,_2,_3
и т. д.
Я хотел бы зайти в каждый подкаталог каталога 11852
и проверить, состоят ли они из каких-либо файлов .jpg
или нет,если нет, то удалите этот подкаталог
Например, проверьте внутри подкаталога 20Port_1
, содержит ли он какой-либо файл .jpg или нет, так как в нем нет файла, удалите папку 20Port_1
.
Теперь отметьте 25Port_1
, поскольку в нем есть файл, и сохраните его как есть.В следующем каталоге 25_Port_2
он также не имеет файла внутри, поэтому удалите его, в следующем каталоге 25Port_3
это файл внутри (теперь вот подвох), оставьте его как есть, но переименуйте его в предыдущий номер типа группы, т.е.измените имя 25Port_3
на 25Port_2
,
Аналогично переименуйте 75Port_2
в 75Port_1
, поскольку 75Port_1
не содержит никаких файлов внутри него.Итак, наконец, моя структура каталогов должна выглядеть так:
Port ID- **11852** --> 25Port_1 --> 1.jpg
--> 25Port_2 --> abc.jpg
--> 75Port_1 --> pqr.jpg
Я пытался
import os
import shutil
fold_list = os.listdir("D/Port ID Folder/11852")
for m in fold_list:
k=0
if len(os.listdir('D/Port ID Folder/11852/'+fold_list[k])) ==0:
x = (fold_list[k].rsplit('_',1)[0]) == (fold_list[k+1].rsplit('_',1)[0])
if x == False:
shutil.rmtree('D/Port ID Folder/11852/'+m)
else:
val = fold_list[k].rsplit('_',1)[1]
shutil.rmtree('D/Port ID Folder/11852/'+m)
Но не получил вывод, Любое предложение
Спасибо