Check if Directory is Empty in Python
Python - Check if directory is empty
To check if a directory is empty or not in Python, you can use the os.listdir
function. The function returns a list of files and sub-directories in the directory. If this list is empty, then the directory is empty.
Empty directory should have no files or sub-directories.
The syntax of the boolean expression to check if the directory is empty is
not os.listdir('path/to/directory')
The above expression returns a boolean value of True if the directory is empty, or False if the directory is not empty.
Note: The 'path/to/directory'
in the above expression should be replaced with the actual path of the directory you want to check.
Example
In the following program, we check programmatically if the directory myfolder/resources
is empty or not.
Directory
We use the previously mentioned boolean expression, to check if the directory is empty or not, as a condition in the if-else statement.
Python Program
import os
path_to_directory = "myfolder/resources"
if not os.listdir(path_to_directory):
print("Directory is empty.")
else:
print("Directory is not empty.")
Output
Directory is empty.
Faster Way
If you are using Python3.5 or higher, there is a method whose performance is better than the above mentioned solution.
os.scandir('path/to/directory')
returns an iterator to the files and sub-directories in the given directory. To check if the directory is empty, all we have to do is if there is no any item in this iterator.
In the following example, we use os.scandir()
to check if the given directory is empty or not.
Python Program
import os
path_to_directory = "myfolder/resources"
if not any(os.scandir(path_to_directory)):
print("Directory is empty.")
else:
print("Directory is not empty.")
Output
Directory is empty.
Summary
In this tutorial of Python Examples, we learned how to check if a directory is empty or not by checking if there are any files or sub-directories in the specified directory.