Troubleshooting FileNotFoundError in Python File Handling

Go into FileNotFoundError in Python!

In this comprehensive guide, I shared everything about FileNotFoundError. FileNotFoundError in Python is so common to raise but very necessary to understand. In different cases and situations, you may get such exceptions, as mentioned in this post.

Troubleshooting FileNotFoundError in Python File Handling


If you want to learn more, there is an additional resource shared here. let’s start to learn about the complete Python FileNotFoundError exception with examples.

Understand FileNotFoundError Exception in Python

File handling is a big subject in any programming language. In which we create or open a file to write something into that file to close.

There are different operations you can perform on the files with Python programming. Sometimes we get FileNotFoundError due to some reasons, that you need to pay attention to.

FileNotFoundError means that the Python interpreter wants to open the file you requested that is not present at the same location you provided.

Sometimes your file location is the same but the actual name of the file is incorrect. I want to give an example to explain everything.

Coding Example:

In this example, nonexistetn_file.txt is the name of the field that is not present in the same location in which your Python file has existed. When you execute this code you will get FileNotFoundError.

What do you have to do? You have to read your code carefully and check the file whether is present in that location or not.

There are different cases you may face while working on your project and getting FileNotFoundError.  just read it carefully to learn about such and avoid getting it again and again.

FileNotFoundError VS ImportError

These are the two common errors that are often raised when developers write some code about accessing different files or modules. Due to not existing such error raise.

FileNotFoundError is related when you want to operate some operation like opening, reading writing, and closing the file that is not present at the location you want to access from. And ImportError exception raises no such module or incorrect module name you are trying to import.

Both errors need to be managed properly and show user-friendly messages to users. When you show user-friendly messages to manage errors it puts a positive impression on the user. And your users will be friendly and interact with your application.

In this example, the developer wants to import a module that is not installed in your system, In this situation you will get an ImportError exception that is different from the FileNotFoundError exception.

In this post, we have focused on FileNotFoundError in Python with different examples with this explanation.

In Different Cases you Get FileNotFoundError

These are the different cases or scenarios I want to share with you, in that situation, you may get FileNotFoundError. Every case is described in detail with possible examples.

Filenotfounderror in Python

Case 1: Open a Non-Existent Single File or Multiple Files

This is the case when you want to open a file that may be a single file or multiple you get such an error. Opening a file means creating a new file or creating a file you want to create.

In some cases, if you want to create a file and want to avoid it from FileNotFoundError then you can use a different strategy. I want to give an example of when you are trying to open a new existed for different options.

Coding Example:

This is the example reason for opening multiple fields that are not present in the location you are accessing. For single file opening, I have already discussed the example in the first article above. You can read that example.

Case 2. Delete a File That Doesn’t Exist

Another case is that, when you are working on a big project related to file handling, need to apply a delete operation on a file. In this situation, it may be a case when such a file is not present.

And you get FileNotFoundError. So you need to check the existing path first. If that path is present at that location then delete the file otherwise a user-friendly error should display.

In this case, you are about to delete a file with extension txt that does not exist, that is why you may get a file. so try to check its path to whether feil exists or not.

Case 4. Renaming a Non-Existent File

For example, you are working on your project, and need to rename any file to a new one. Some developers without checking their path, try to rename the file that is not present. The file may present but it may be an issue with your file, incorrect file name, incorrect directory name, etc.

In this example, you are trying to rename any file using the os library rename method, but the file is not present, this is another case where you may get such an exception.

Case 6. Move a Non-Existent File

In this case, you may get FileNotFoundError when you want to move a file from one location to another location. In this case, you mentioned a folder name that is present but the file is not present. You get such an exception then.

This is the shutil module in which the move method is working taking two parameters (file name and destination directory). Check the file and destination before moving.

Step-by-Step Troubleshooting FileNotFoundError

These are the step-by-step guide for you if you want to get a solution for FileNotFoundError you need to understand the following steps so you will get a solution.

FileNotFoundError in Python with Faisal Zamir

Here is a table in which all the steps are mentioned with their priority level.

Serial Number Step Priority
1 Verify the File Path Medium
2 Use Absolute Paths High
3 Check the Current Working Directory Low
4 Verify File Existence Before Operations High
5 Inspect File Permissions Medium
6 Handle Directory Existence Low
7 Check File Extension Medium
8 Review Code Logic Medium
9 Use Try-Except Blocks for File Operations High
10 Try Reading with Different Modes Low

Step 01: Verify the File Path:

To avoid FileNotFoundError you need to double-check its path, whether such a path exists or not. Sometimes you are requesting a file that is not present in that location or you have deleted that path.

Step 02. Use Absolute Paths:

You can also use an absolute path rather than a relative path.
for example, there is a folder myproject -> test-> ali->exam.txt
In this case exam.txt file is present in ali fodler, ali folder is present in the test, test is in myproject.

Absolute path Example:

This path includes a complete URL, using abspath function, which includes its complete path.

Relative path Example:

In this example, you have to use just one folder name and file that is present in that folder. This ali folder will be in the location of the Python file.

Step 03. Check Current Working Directory:

os.getcwd() method used to check what is the current working directory. Current directory means in which are currently working. If you have to find a working directory it will become easy to find and verify the path of the current file.

Step 04. Verify File Existence Before Operations:

These are the methods os.path.exists() or Path.exists(), which you can use to verify at first before performing any operations on the file.

Step 05. Inspect File Permissions:

You need to check before performing operations, have you permission to do this? If you have no permission to open a file, read writing, etc, you cannot do this.

Step 06. Handle Directory Existence:

Have you deleted the directory? Sometimes we delete the directory and try to access that directory. You have to check at first, whether that directory is present or not.

Step 07. Check File Extension:

Extention is very important for any file. If you write an incorrect extension name, like txt to text. You will not get the expected output. Write the correct extension for the file.

Step 08. Review Code Logic:

Sometimes, each and everything is correct, but your logic is incorrect. Just read your code again, if it has a logical error, please debug that and then try it. I fixed many issues by reviewing the code from top to bottom. When you get any errors or bugs, just relax and start to read your code from top to bottom clearly, surly you will be able to find erro.

Step 09. Use Try-Except Blocks for File Operations:

Very good practice, if you are using try-except block for different performing operations. Because when you try your logic, if it fails to execute, you get an exception that will help you to find an actual error.

Sometimes, we use the if-else block to check any condition if it is true or false, The respective statement block is executed, but you need to use the Try-Except block which is especially for this purpose (checking code and raising exceptions).

Step 10. Try Reading with Different Modes:

There are different modes (e.g., ‘r’, ‘rb’, ‘rt’) and methods you can use to read the file. Just change modes to read the file. Sometimes modes are not working, after checking modes like r or rt, you may solve this error.

Sometimes you need to open a file with different options and with different modes, as we want to create a file, write into it, then read, etc. In this situation, you have to understand all types of modes properly.

Last words!

These are the 10 points I have shared in-depth, surely you have understood. After following these points you can debug from your Python code. In case when you did not fix your issue you may discuss it with me in the comment section.

Do you need assistance with Questions?

You know that we have discussed FileNotFoundError in Python in detail with different examples. In this section, I want to say that after reading this article, still you are confused or have any questions you can put in a request to me I will be direct with you to give you an answer if you have any related to FileNotFoundError.


These are the different strategies, for understanding FileNotFoundError in Python I have discussed. Different cases for example, in which you may get such an exception. There is an author’s recommendation mentioned here in the section on step-by-step debugging to find solutions for such exceptions.

What is your question related to FileNotFoundError or other, Please say in Comment!


What happens when the FileNotFoundError exception is raised?

When such an error is raised, it means you are performing any operations on the file which does not exist. Your logic will not be applied to the file.

What are the good practices to avoid FileNotFoundError?

There are different best practices to avoid such errors like checking the path at first using the OS library, file extension checking, directory name, file correct name, etc. You can read complete good practices as mentioned in this post.

Can I put a question related to the FileNotFoundError exception?

Yes, in the comment section, you can write your question, if you did not clear your concepts about FileNotFoundError. Or if you want to know more about such exceptions with examples you can also do that.

Additional Resource

There are other exceptions also ValueError, ImportError, TabError, etc. You have to understand these executions in depth to manage them properly for users.  I explain everything but if you want to learn more about other expectations I want to share additional resources for you.

Learn more about Python Exceptions

Here is the video for you to understand properly FileNotFoundError in Python. In this video, you will get a practical solution to this exception.

Feedback & Comment

A comprehensive discussion about FileNotFoundError in Python with different examples and different cases and scenarios in which you get such errors. Everything concept is mentioned here in detail, what do you want to say now? Have got your expectations from this article? Please mention your thoughts in the comment section.

Share with your Friends

Leave a Comment