Open In App

Python: Check if a directory is empty

Python is a widely used general-purpose, high-level programming language. It provides many functionalities and one among them is checking whether a directory is empty or not. This can be achieved by using os module. The OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality. The os and os.path modules include many functions to interact with the file system.

Check if a directory is empty

To check whether a directory is empty or not os.listdir() method is used. os.listdir() method of os module is used to get the list of all the files and directories in the specified directory.

Syntax: os.listdir(path)

Parameters:
path (optional): path of the directory

Return Type: This method returns the list of all files and directories in the specified path. The return type of this method is list.

Example #1: If the list returned by os.listdir() is empty then the directory is empty otherwise not. Below is the implementation.




# Python program to check whether
# the directory empty or not
  
  
import os
  
# path of the directory
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
  
# Getting the list of directories
dir = os.listdir(path)
  
# Checking if the list is empty or not
if len(dir) == 0:
    print("Empty directory")
else:
    print("Not empty directory")

Output:

Empty directory

Example #2: Suppose the path specified in the above code is a path to a text file or is an invalid path, then, in that case, the above code will raise an OSError. To overcome this error we can use os.path.isfile() method and os.path.exists() method. Below is the implementation.




# Python program to check whether
# the directory is empty or not
  
  
import os
  
  
# Function to Check if the path specified
# specified is a valid directory
def isEmpty(path):
    if os.path.exists(path) and not os.path.isfile(path):
  
        # Checking if the directory is empty or not
        if not os.listdir(path):
            print("Empty directory")
        else:
            print("Not empty directory")
    else:
        print("The path is either for a file or not valid")
  
  
# path to a file
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil/gfg.txt"
isEmpty(path)
print()
  
# valid path
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil/"
isEmpty(path)

Output:

The path is either for a file or not valid

Not empty directory

Article Tags :