Open In App

Python | os.DirEntry.is_dir() method

Last Updated : 28 Aug, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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.

os.scandir() method of os module yields os.DirEntry objects corresponding to the entries in the directory given by specified path. os.DirEntry object has various attributes and method which is used to expose the file path and other file attributes of the directory entry.

is_dir() method on os.DirEntry object is used to check if the entry is a directory or not.

Note: os.DirEntry objects are intended to be used and thrown away after iteration as attributes and methods of the object cache their values and never refetch the values again. If the metadata of the file has been changed or if a long time has elapsed since calling os.scandir() method. we will not get up-to-date information.

Syntax: os.DirEntry.is_dir(*, follow_symlinks = True)

Parameter:
follow_symlinks: A boolean value is required for this parameter. If the entry is a symbolic link and follow_symlinks is True then the method will operate on the path symbolic link point to. If the entry is a symbolic link and follow_symlinks is False then the method will operate on the symbolic link itself. If the entry is not a symbolic link then follow_symlinks parameter is ignored. The default value of this parameter is True.

Return value: This method returns True if the entry is a directory otherwise returns False.

Code #1: Use of os.DirEntry.is_dir() method




# Python program to explain os.DirEntry.is_dir() method 
  
# importing os module  
import os
  
# Directory to be scanned
# Path
path = "/home / ihritik"
  
# Using os.scandir() method
# scan the specified directory
# and yield os.DirEntry object
# for each file and sub-directory
  
with os.scandir(path) as itr:
    for entry in itr :
        # Check if the entry
        # is directory 
        if entry.is_dir() :
            print("% s is a directory." % entry.name)
        else:
            print("% s is not a directory." % entry.name)


Output:

file.txt is not a directory.
Public is a directory.
Desktop is a directory.
R is a directory.
Music is a directory.
Documents is a directory.
tree.cpp is not a directory.
graph.cpp is not a directory.
Pictures is a directory.
GeeksForGeeks is a directory.
Videos is a directory.
images is a directory.
Downloads is a directory.
abc.txt is not a directory.

Code #2: Use of os.DirEntry.is_dir() method




# Python program to explain os.DirEntry.is_dir() method 
  
# importing os module  
import os
  
# Directory to be scanned
# Path
path = "/home / ihritik"
  
# Using os.scandir() method
# scan the specified directory
# and yield os.DirEntry object
# for each file and sub-directory
  
print("List of all directories in '% s':" % path) 
with os.scandir(path) as itr:
    for entry in itr :
        # Check if the entry
        # is directory 
        if entry.is_dir() :
            # Exclude the directory name
            # starting with '.'  
            if not entry.name.startswith('.') :    
                # Print Directory name    
                print(entry.name)


Output:

List of all directories in path '/home/ihritik':
Public
Desktop
R
Music
Documents
Pictures
GeeksForGeeks
Videos
images
Downloads

References: https://docs.python.org/3/library/os.html#os.DirEntry.is_dir



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads