When working with Python, you should check the existence of a file or a directory to perform some functions. These functions could be reading a file, opening a file, etc. In other words, you might face difficulty running your program if the file you seek isn’t there. This blog will detail how to check if a file exists in Python.
You can use the following methods to check if a file exists in Python:
- Using the os.path Module
- Using the pathlib Module
Python is a versatile language. Like Python, you can also write Java programs in CMD using Notepad. We will discuss the above methods in detail and delve deep into both modules. Furthermore, we will also examine the best practices and tips that will help you whenever you are working with Python.
Table of Contents
Check if a File Exists in Python
This section will discuss the methods to check if a file exists in Python in detail.
Using the os.path Module
The os Module is the segment of the standard library(stdlib) in Python and paves the path for obtaining and connecting with the OS. By using the os module, you can perform several functions.
You can also check if a file exists in Python and delete it, as well as create a file using this module. The os.path module has three methods: os.path.exists(), os.path.isfile(), and os.path.isdir(). Let’s discuss the methods of theos.path module.
os.path.exists() Method
Using the os module, the first method to check if a file exists in Python is by incorporating the os.path.exists(). The uniqueness of this method is that you can check whether the fully mentioned path is present. In other words, it seeks both the file and the directory. Before everything, the first thing that we have to consider is importing the os module. For instance:
import os.path
The syntax for this method is :
os.path.exists(path)
When you run this code, it will give back a Boolean value indicating whether a file exists. Let’s look at an example:
import os.path
path = ‘./strobecorp.txt’
check_file = os.path.exists(path)
print(check_file)
# output
# True
In the above example, the file exists; therefore, we get a Boolean true value. The file would have shown False as the Output if it didn’t exist. But this is an example where a file exists. As we know, this method also verifies whether the directory is present. For instance:
import os.path as unique_os_path
unique_pathname = ‘/Users/projects/strobecorp_project’
check_existence = unique_os_path.exists(unique_pathname)
print(check_existence)
# output
# True
Therefore, this method is proper when you want to check the fully mentioned specified path.
os.path.isfile() Method
This method is used to verify whether the file is present or not. Unlike the above method, it doesn’t verify the fully mentioned path. When you use this method, remember that the path you specify should end on a file, not a folder; otherwise, it will show the output as False. The syntax for this method is :
os.path.isfile(path)
When you run this code, it will give back a Boolean value indicating whether a file exists. Let’s look at an example:
import os.path
path = ‘/Users/projects/strobecorp_project/strobecorp.txt’
print(os.path.isfile(file_path))
# Output
# True
The above example shows that when the path ends on a file, the output shows a boolean value “True.” As discussed earlier, this method won’t work when the directory is mentioned at the end of the path. For instance:
import os.path
unique_path = ‘/Users/projects/strobecorp_project’
unique_check_file = os.path.isfile(unique_path)
print(unique_check_file)
#output
#False
Therefore, this method is accurate when you only want to verify a particular file in Python.
os.path.isdir() Method
This method is used to verify whether the mentioned path is a present directory. The uniqueness of this method is that it persecutes a symbolic link. In other words, if the path mentioned is a symbolic link referring to a directory, it will show the output as true. The syntax is:
os.path.isdir(path)
Let’s understand this via an example:
import os.path
# Path
path = ‘/home/User/Documents/strobecorp.txt’
# Verify whether the path is a present directory
isdir = os.path.isdir(path)
print(isdir)
# Path
path = ‘/home/User/Documents/’
# Verify whether the path is a directory
isdir = os.path.isdir(path)
print(isdir)
Output:
False
True
In the above example, the first output is false because this method verifies whether the mentioned is a present directory or not. But, the first path is a file; therefore it shows False. In the second path, the path is a directory; consequently, it shows True.
Let’s look at an example with a symbolic link:
import os.path as unique_os_path
# Make a directory
unique_dirname = “Strobecorp”
unique_os_path.mkdir(unique_dirname)
# Make a symbolic link
# referring to the above directory
unique_symlink_path = “/home/User/Desktop/sc”
unique_os_path.symlink(unique_dirname, unique_symlink_path)
unique_path = unique_dirname
# Verify whether the mentioned path is a
# present directory or not
unique_isdir = unique_os_path.isdir(unique_path)
print(unique_isdir)
unique_path = unique_symlink_path
# Verify whether the symlink is
# a present directory or not
unique_isdir = unique_os_path.isdir(unique_path)
print(unique_isdir)
Output:
True
True
Using the pathlib Module
This section will focus on how to check if a file exists in Python using pathlib.
Overview of the Module
This module offers several classes depicting file system paths with semantics required for different OS. pathlib module is a branch of Python’s standard utility modules.
In the pathlib module, there are two path classes: pure paths and concrete paths. Pure paths offer you computational operations but don’t give you I/O operations; conversely, concrete paths offer you both operations.
Path.exists() Method
Before using this method, use this module only if you have a Python version 3.4 or above. This module takes advantage of the object-oriented approach and helps you to handle files and directories. Whenever you want to verify whether the mentioned path refers to the present file or directory, you can use this method. The syntax of this method is :
pathlib.Path.exists(path)
Let’s understand via an example:
# importing the Path class from pathlib module
from pathlib import Path
# adding path
path = ‘D:\Strobecorp’
# creating object of the path class
path_obj = Path(path)
# checking if that path exists
print(path_obj.exists())
In the above example, if the path is present in the system, the output will show “True” and vice versa.
Besides these methods, you can verify if a file exists in Python using try and except statements.
FAQs
How to delete a file in Python?
There are two ways through which you can delete a file in Python. These are os.remove() and os.rmdir.
How to rename a file in Python?
Renaming a file in Python is very easy. The first thing that we should consider is importing the os module. Afterward, apply the os.rename() function, and you are all set.
How do I open a file in Python?
Opening a file in Python is very straightforward. For instance, we have a file Strobecorp.txt. To open this file, we have to apply the open() function, and you are all set.
How is a Python file named?
You can name a Python file anything if it ends with the .py extension.
Conclusion
In conclusion, we learned to check if a file exists in Python. These methods are straightforward, and you won’t face any difficulties. Most methods mentioned above have the same parameter to execute the program and give back a Boolean Value. Always remember to import the module before writing any code. Remember that a forward slash (“/”) is used as the path differentiator to check if a file exists in Python on Linux. Furthermore, you can learn Python to extend classes to increase your knowledge about the programming language.
See Also– Handling Optional Path Parameters With React Router