Open In App

Check if directory contains files using python

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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.

  • 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 []

Python3




# 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.
  • 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. 

Python3




# 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.
  • 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. 

Python3




# 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:

Python3




# Python program to check if
# the directory is empty
 
import os
 
 
# Function for checking if the directory
# contains 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 !


Last Updated : 12 Dec, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads