Python : Script to remove empty directory on your computer

Today, I checked my download folder and found that a lot of empty directories. Because I choose download by JDownloader (open source program to download from

Sometimes, you can not download all contents that you need and make the computer has a lot of empty directories. Because JDownloader automatically create a folder which contains the download files.

After searching on StackOverFlow, I found a very useful link and modified it so that it suited my situation. Check the script below :

import os
#declare the root directory
root_dir = ‘E:\\Your_download_directory
#initialize the counters
empty_count = 0
used_count = 0
#Set the file to write to, “x” will indicate to create a new file and open it for writting
for curdir, subdirs, files in os.walk(root_dir):
if len(subdirs) == 0 and len(files) == 0:
empty_count += 1 #increment empty_count
print(‘Empty Directory: {}’.format(curdir)) #print the empty directory
print(‘This empty directory was successful removed : {}’.format(curdir))
elif len(subdirs) > 0:
used_count += 1
print(‘Used directory:: {}’.format(curdir)) #print the used directory if you want.
print(‘The total empty directory in this folder : {}’.format(empty_count))

If you check the link below, you will find more useful thing to do with this script.

You can add the result to file and save it like a log file.

Link : Scan files recursively and delete empty directories in python

Reference to os.rmdir : Python os.removedirs() Method

I highly recommend you to only print the result of empty directory first. After that you can uncomment “os.rmdir(curdir)” to delete the result of empty.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s