Ich habe ein Problem beim Löschen leerer Verzeichnisse. Hier ist mein Code:
for dirpath, dirnames, filenames in os.walk(dir_to_search):
//other codes
try:
os.rmdir(dirpath)
except OSError as ex:
print(ex)
Das Argument dir_to_search
ist, wo ich das Verzeichnis übergebe, in dem die Arbeit erledigt werden muss. Das Verzeichnis sieht folgendermaßen aus:
test/20/...
test/22/...
test/25/...
test/26/...
Beachten Sie, dass alle oben genannten Ordner leer sind. Als ich dieses Skript die Ordner laufen 20
, 25
wird allein gelöscht! Aber die Ordner 25
und 26
werden nicht gelöscht, obwohl sie leere Ordner sind.
Bearbeiten:
Die Ausnahme, die ich bekomme, sind:
[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'
Wo mache ich einen Fehler?
rmdir /path/to/25th/folder
das gesamte Verzeichnis. Was bedeutet, dass das Verzeichnis leer ist!