Python: Check if a directory is empty
Last Updated :
29 Dec, 2020
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.
import os
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil"
dir = os.listdir(path)
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.
import os
def isEmpty(path):
if os.path.exists(path) and not os.path.isfile(path):
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 = "D:/Pycharm projects/GeeksforGeeks/Nikhil/gfg.txt"
isEmpty(path)
print ()
path = "D:/Pycharm projects/GeeksforGeeks/Nikhil/"
isEmpty(path)
|
Output:
The path is either for a file or not valid
Not empty directory
Share your thoughts in the comments
Please Login to comment...