Open In App

Python: Check if a File or Directory Exists

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

Sometimes the need to check if the folder exists in python, and check whether a directory or file exists becomes important because maybe you want to prevent overwriting the already existing file, or maybe you want to make sure that the file is available or not before loading it. So to check how to check if a Directory Exists without exceptions in Python  we have the following ways to check whether a file or directory already exists or not:

Method 1: Check if a File or Directory Exists in Python using os.path.exists()

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.path module is a submodule of the OS module in Python used for common path name manipulation.

The os.path.exists() method in Python is used to check whether the specified path exists or not. This method can be also used to check whether the given path refers to an open file descriptor or not.
 

Syntax: 

os.path.exists(path)

Parameter: 

  • path: A path-like object representing a file system path. A path-like object is either a string or bytes object representing a path.

Return Type: This method returns a Boolean value of class bool. This method returns True if path exists otherwise returns False. 
 

Example: 

Python program to explain os.path.exists() method

Python3




# importing os module
import os
 
# Specify path
path = '/usr/local/bin/'
 
# Check whether the specified
# path exists or not
isExist = os.path.exists(path)
print(isExist)
 
 
# Specify path
path = '/home/User/Desktop/file.txt'
 
# Check whether the specified
# path exists or not
isExist = os.path.exists(path)
print(isExist)


Output

True
False

 Method 2: Check if a File or Directory Exists in Python using os.path.isfile()

os.path.isfile() method in Python is used to check whether the specified path is an existing regular file or not.

Syntax: os.path.isfile(path)

Parameter: 

  • path: A path-like object representing a file system path. A path-like object is either a string or bytes object representing a path.

Return Type: This method returns a Boolean value of class bool. This method returns True if specified path is an existing regular file, otherwise returns False.  

Example: 

Python program to explain os.path.isfile() method

Python3




# importing os module
import os
 
# Path
path = 'C:/Users/gfg/Desktop/file.txt'
 
# Check whether the
# specified path is
# an existing file
isFile = os.path.isfile(path)
print(isFile)
 
# Path
path = '/home/User/Desktop/'
 
# Check whether the
# specified path is
# an existing file
isFile = os.path.isfile(path)
print(isFile)


Output: 

True
False

Method 3: Check if a File or Directory Exists in Python using os.path.isdir()

os.path.isdir() method in Python is used to check whether the specified path is an existing directory or not. This method follows a symbolic link, which means if the specified path is a symbolic link pointing to a directory then the method will return True.

Syntax: os.path.isdir(path)

Parameter: 

  • path: A path-like object representing a file system path.

Return Type: This method returns a Boolean value of class bool. This method returns True if specified path is an existing directory, otherwise returns False. 
 

Example 1:

Python program to explain os.path.isdir() method.

Python3




# importing os.path module
import os.path
 
# Path
path = '/home/User/Documents/file.txt'
 
# Check whether the
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)
 
 
# Path
path = '/home/User/Documents/'
 
# Check whether the
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)


Output: 

False
True

Example 2: 

Python program to explain os.path.isdir() method, If the specified path is a symbolic link.

Python3




# importing os.path module
import os.path
 
 
# Create a directory
# (in current working directory)
dirname = "GeeksForGeeks"
os.mkdir(dirname)
 
# Create a symbolic link
# pointing to above directory
symlink_path = "/home/User/Desktop/gfg"
os.symlink(dirname, symlink_path)
 
 
path = dirname
 
# Now, Check whether the
# specified path is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)
 
path = symlink_path
 
# Check whether the
# specified path (which is a
# symbolic link ) is an
# existing directory or not
isdir = os.path.isdir(path)
print(isdir)


Output: 

True
True

Method 4: Check if a File or Directory Exists in Python using pathlib.Path.exists()

Pathlib module in Python provides various classes representing file system paths with semantics appropriate for different operating systems. This module comes under Python’s standard utility modules. Path classes in the Pathlib module are divided into pure paths and concrete paths. Pure paths provide only computational operations but do not provides I/O operations, while concrete paths inherit from pure paths provide computational as well as I/O operations.

The pathlib.Path.exists() method is used to check whether the given path points to an existing file or directory or not.
 

Syntax: pathlib.Path.exists(path)

Parameter: 

  • path: A path-like object representing a file system path.

Return Type: This method returns a Boolean value of class bool. This method returns True if path exists otherwise returns False. 
 

Example: 

Python3




# Import Path class
from pathlib import Path
 
# Path
path = '/home/gfg/Desktop'
 
# Instantiate the Path class
obj = Path(path)
 
# Check if path points to
# an existing file or directory
print(obj.exists())


Output: 

True

If you’re searching in current directory or below, to find the folder, use ./  before  folder name or it’ll give wrong result.

Python3




import os
 
print(os.path.isdir('./my_folder')) # print true or false if my_folder exist or not in current directory
 
print(os.path.isdir('./Folder/search_folder')) #will tell if search_folder exist or not inside Folder




Last Updated : 04 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads