В этой статье мы увидим, как удалять только пустые папки в Python.
Перед удалением папки вот изображение, показывающее файлы внутри основного каталога.
Как показано на изображении выше, в папке есть 2 пустых подпапки и 1 непустая папка.
Итак, после запуска кода эти 2 папки должны быть удалены.
С помощью модуля ОС
С помощью модуля мы можем легко получить файлы любой директории.
Python3
import
os
for
item
in
os.listdir(os.getcwd()):
# print(item)
# check dir
if
os.path.isdir(item):
if
os.listdir(item):
(os.path.join(os.getcwd(),item))
os.removedirs(os.path.join(os.getcwd(),item))
Выход:
Используя loop
В этом методе мы будем использовать цикл для поиска содержимого внутри каждой папки. Затем, если папка пуста, мы ее удалим.
Python3
import
os
root
=
'C:\\Users\\Untitled Folder\\'
folders
=
list
(os.walk(root))[
1
:]
for
folder
in
folders:
(
"All Folder -> "
,folder)
if
not
folder[
2
]:
os.rmdir(folder[
0
])
Выход:
All Folder -> ('C:\\Users\\Untitled Folder\\.ipynb_checkpoints', [], ['Untitled-checkpoint.ipynb'])
All Folder -> (C:\\Users\\Untitled Folder\\Empty Folder 1', [], [])
All Folder -> ('C:\\Users\\Untitled Folder\\Empty Folder 2', [], [])
All Folder -> ('C:\\Users\\Untitled Folder\\Non empty folder', [], ['untitled.txt'])
