Skip to content
Related Articles

Related Articles

Check if directory contains files using python
  • Last Updated : 29 Dec, 2020

Finding if a directory is empty or not in Python can be achieved using the listdir() method of the os library. OS module in Python provides functions for interacting with the operating system. This module provides a portable way of using operating system dependent functionality.

Syntax: os.listdir(<directory path>)

Returns: A list of files present in the directory, empty list if the directory is empty

Now by calling listdir() method, we can get a list of all files present in the directory. To check the emptiness of the directory we should check the emptiness of the returned list. We have many ways to do that, let us check them one by one.

  1. By comparing the returned list with a hardcoded empty list
    An empty list can be written as []. So we can compare the returned list’s equalness with [].






    # Python program to check
    # if a directory contains file
      
      
    import os
      
    # path of the directory
    directoryPath = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
      
    # Comparing the returned list to empty list
    if os.listdir(directoryPath) == []:
            print("No files found in the directory.")
        else:
            print("Some files found in the directory.")

    
    

    Output:

    Some files found in the directory.
    
  2. By comparing length of the returned list with 0
    We can get length of a list by using len() method of Python. If the length of the returned list is equal to zero then the directory is empty otherwise not.




    # Python program to check if
    # a directory contains file
      
      
    import os
      
    # path of the directory
    directoryPath = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
      
    # Checking the length of list
    if len(os.listdir(directoryPath)) == 0:
            print("No files found in the directory.")
        else:
            print("Some files found in the directory.")

    
    

    Output:

    Some files found in the directory.
    
  3. By comparing the boolean value of the list
    In the above method, we used explicit comparison of the length of the list. Now we are heading with a more Pythonic way using truth value testing. An empty list is evaluated as False in Python.




    # Python program to check if
    # a directory is empty
      
      
    import os
      
    # path of the directory
    directoryPath = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
      
    # Checking the boolean value of list
    if not os.listdir(directoryPath):
            print("No files found in the directory.")
        else:
            print("Some files found in the directory.")

    
    

    Output:

    Some files found in the directory.
    

Complete source code:




# Python program to check if
# the directory is empty
  
import os
  
  
# Function for checking if the directory
# containes file or not
def isEmpty(directoryPath):
  
    # Checking if the directory exists or not
    if os.path.exists(directoryPath):
  
        # Checking if the directory is empty or not
        if len(os.listdir(directoryPath)) == 0:
            return "No files found in the directory."
        else:
            return "Some files found in the directory."
    else:
        return  "Directory does not exist !"
  
# Driver's code
  
# Valid directory
directoryPath = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
print("Valid path:", isEmpty(directoryPath))
  
# Invalid directory
directoryPath = "D:/Pycharm projects/GeeksforGeeks/Nikhil/GeeksforGeeks"
print("Invalid path:", isEmpty(directoryPath))


Output:

Valid path: Some files found in the directory.
Invalid path: Directory does not exist !

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :