Boş dizinleri silmekle ilgili bir sorun yaşıyorum. İşte kodum:
dirpath, dizin adları, os.walk(dir_to_search) içindeki dosya adları için: //diğer kodlar deneyin: os .rmdir(dirpath) ancak OSError as ex: print(ex)
dir_to_search
argümanı, işin yapılması gereken dizini "geçtiğim yer" . Bu dizin şöyle görünür:
test/20/... test/22/... test/25/... test/26/...
Yukarıdaki tüm klasörlerin boş olduğunu unutmayın. Bu betiği çalıştırdığımda 20
,25
klasörleri tek başına siliniyor! Ancak 25
ve 26
klasörleri, boş klasörler olmalarına rağmen silinmezler.
Düzenleme:
İstisna alıyorum:
[Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test" [Errno 39] Dizin boş değil: " /home/python-user/shell-scripts/s3logs/test/2012" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10/29" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012 /10/29/tmp" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10/28" [Errno 39] Dizin boş değil: "/home/python -user/shell-scripts/s3logs/test/2012/10/28/tmp" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10/26" [ Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10/25" [Errno 39] Dizin boş değil: "/ home/python-user/shell-scripts/s3logs/test/2012/10/27" [Errno 39] Dizin boş değil: "/home/python-user/shell-scripts/s3logs/test/2012/10/27/ tmp"
Nerede hata yapıyorum?