Python - Check if a file or directory exists - GeeksforGeeks

06 May, 2021
Sometimes the need to check whether a directory or file exists or not becomes important because maybe you want to prevent overwriting to the already existing file, or maybe you want to make sure that the file is available or not before loading it. There are various ways to check that a file or directory already exists or not. They are –  
Using os.path.exists() 
Using os.path.isfile() 
Using os.path.isdir() 
Using pathlib.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 OS module in Python used for common path name manipulation.Note: To know more about the OS module click here.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: 
Python3
# Python program to explain os.path.exists() method      # importing os module import os   # Specify pathpath = '/usr/local/bin/'   # Check whether the specified# path exists or notisExist = os.path.exists(path)print(isExist)      # Specify pathpath = '/home/User/Desktop/file.txt'   # Check whether the specified# path exists or notisExist = os.path.exists(path)print(isExist)
Output: 
True
False
 
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: 
Python3
# Python program to explain os.path.isfile() method # importing os module import os # Pathpath = 'C:/Users/gfg/Desktop/file.txt' # Check whether the # specified path is # an existing fileisFile = os.path.isfile(path)print(isFile) # Pathpath = '/home/User/Desktop/' # Check whether the # specified path is # an existing fileisFile = os.path.isfile(path)print(isFile)
Output:  
True
False
 
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:  
Python3
# Python program to explain os.path.isdir() method      # importing os.path module import os.path   # Pathpath = '/home/User/Documents/file.txt'   # Check whether the # specified path is an# existing directory or notisdir = os.path.isdir(path)print(isdir)      # Pathpath = '/home/User/Documents/'   # Check whether the # specified path is an# existing directory or notisdir = os.path.isdir(path)print(isdir)
Output:  
False
True
Example: If the specified path is a symbolic link. 
Python3
# Python program to explain os.path.isdir() method      # 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 directorysymlink_path = "/home/User/Desktop/gfg"os.symlink(dirname, symlink_path)      path = dirname   # Now, Check whether the # specified path is an# existing directory or notisdir = os.path.isdir(path)print(isdir)   path = symlink_path   # Check whether the # specified path (which is a# symbolic link ) is an# existing directory or notisdir = os.path.isdir(path)print(isdir)
Output:  
True
True
 
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 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 provides computational as well as I/O operations.Note: To know more about pathlib module click here.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 classfrom pathlib import Path   # Pathpath = '/home/gfg/Desktop'   # Instantiate the Path classobj = Path(path)   # Check if path points to # an existing file or directory print(obj.exists())
Output:  
True
 
aman chourasiya
Python file-handling-programs
Python OS-path-module
python-file-handling
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Python Dictionary
Read a file line by line in Python
Enumerate() in Python
Iterate over a list in Python
How to Install PIP on Windows ?
Different ways to create Pandas Dataframe
Python String | replace()
Create a Pandas DataFrame from Lists
Python program to convert a list to string
Reading and Writing to text files in Python