मुझे खाली निर्देशिकाओं को हटाने में समस्या हो रही है। यहाँ मेरा कोड है:
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की पूरी निर्देशिका को हटा रहा है। जिसका अर्थ है कि निर्देशिका एक खाली है!