Я делаю скрипт в Python, чтобы удалить все оставшиеся файлы .exe из компиляции:
import os
main_dir = '../RemoveExes'
def remove_all_in_dir(path):
print(f'Currently in {path}. Listdir:', os.listdir(path))
for current_name in os.listdir(path):
if os.path.isdir(current_name):
print(f'{path}/{current_name} is a directory. Entering')
remove_all_in_dir(f'{path}/{current_name}')
elif current_name.endswith('.exe'):
print(f'Would remove: {current_name}')
else:
print(f'{current_name} is not an .exe or a directory. Omitting.')
remove_all_in_dir(main_dir)
.. / RemoveExes - это каталог со следующей структурой:
? RemoveExes
├ ? bar
│ ├ ? subdir
│ │ ├ bulb.exe
│ │ └ some_text.txt
│ ├ doc.docs
│ └ een.jpg
├ ? foo
│ ├ exe.exe
│ └ txt.txt
├ cleanup.py
├ prog.exe
├ script.py
└ text.txt
Программа успешно «удаляет» exe.exe (глубиной 1 каталог) и prog.exe (глубиной 0 каталогов), но не затрагивает bulb.exe (глубиной 2 директории). Это для ограничения рекурсии в Python, или я делаю что-то не так?