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_searchist, 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, 25wird allein gelöscht! Aber die Ordner 25und 26werden 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/folderdas gesamte Verzeichnis. Was bedeutet, dass das Verzeichnis leer ist!