У мене виникають проблеми зі видаленням порожніх каталогів. Ось мій код:
for dirpath, dirnames, filenames in os.walk(dir_to_search):
//other codes
try:
os.rmdir(dirpath)
except OSError as ex:
print(ex)
Аргумент dir_to_search
- це те, де я передаю каталог, де потрібно виконати роботу. Цей каталог виглядає приблизно так:
test/20/...
test/22/...
test/25/...
test/26/...
Зауважте, що всі вищевказані папки порожні. Коли я запускаю цей скрипт папки 20
, в 25
поодинці буде знищений! Але папка 25
і 26
не видаляється, навіть якщо вони порожні папки.
Редагувати:
Виняток, який я отримую, є:
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/29'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/29/tmp'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/28'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/28/tmp'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/26'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/25'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/27'
[Errno 39] Directory not empty: '/home/python-user/shell-scripts/s3logs/test/2012/10/27/tmp'
Де я помиляюся?
rmdir /path/to/25th/folder
видалити весь каталог. Що означає, що цей каталог порожній!