Python: Check if a File or Directory Exists
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
import os
path = '/usr/local/bin/'
isExist = os.path.exists(path)
print (isExist)
path = '/home/User/Desktop/file.txt'
isExist = os.path.exists(path)
print (isExist)
|
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
import os
path = 'C:/Users/gfg/Desktop/file.txt'
isFile = os.path.isfile(path)
print (isFile)
path = '/home/User/Desktop/'
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
import os.path
path = '/home/User/Documents/file.txt'
isdir = os.path.isdir(path)
print (isdir)
path = '/home/User/Documents/'
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
import os.path
dirname = "GeeksForGeeks"
os.mkdir(dirname)
symlink_path = "/home/User/Desktop/gfg"
os.symlink(dirname, symlink_path)
path = dirname
isdir = os.path.isdir(path)
print (isdir)
path = symlink_path
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
from pathlib import Path
path = '/home/gfg/Desktop'
obj = Path(path)
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 (os.path.isdir( './Folder/search_folder' ))
|
Last Updated :
04 Apr, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...