In this tutorial, we will learn how to determine whether a file (or directory) exists using Python. To check this, we use Built-in library functions.

There are different ways to verify a file or directory exists, using functions as listed below.

os.path.exists()

Using path.exists you can quickly check that a file or directory exists. Here are the steps

Steps 1) Before you run the code, it is important that you import the os.path module.


         import os.path
         from os import path

Steps 2) Now, use the path.exists() function to check whether a File Exists.

path.exists("Girish.txt")

Steps 3) Here is the complete code


         import os.path
         from os import path
         
         def main():
         
            print ("file exist:"+str(path.exists('Girish.txt')))
            print ("File exists:" + str(path.exists('career.Girish.txt')))
            print ("directory exists:" + str(path.exists('myDirectory')))
         
         if __name__== "__main__":
            main()

In our case only file Girish.txt is created in the working directory

Output:

File exists: True
File exists: False
directory exists: False

os.path.isfile()

We can use the isfile command to check whether a given input is a file or directory.


         import os.path
         from os import path
         
         def main():
         
             print ("Is it File?" + str(path.isfile('Girish.txt')))
             print ("Is it File?" + str(path.isfile('myDirectory')))
         if __name__== "__main__":
             main()

Output:

Is it File? True
Is it File? False

os.path.isdir()

If we want to confirm that a given path points to a directory, we can use the os.path.dir() function

import os.path
         from os import path
         
         def main():
         
            print ("Is it Directory?" + str(path.isdir('Girish.txt')))
            print ("Is it Directory?" + str(path.isdir('myDirectory')))
         
         if __name__== "__main__":
            main()

Output:

Is it Directory? False
Is it Directory? True

pathlibPath.exists() For Python 3.4

Python 3.4 and above versions have pathlib Module for handling with file system path. It used object-oriented approach to check if file exist or not.


         import pathlib
         file = pathlib.Path("Girish.txt")
         if file.exists ():
             print ("File exist")
         else:
             print ("File not exist")
         
         

Output:

File exist

Complete Code

Here is the complete code


         import os
         from os import path
         
         def main():
             # Print the name of the OS
             print(os.name)
         #Check for item existence and type
         print("Item exists:" + str(path.exists("Girish.txt")))
         print("Item is a file: " + str(path.isfile("Girish.txt")))
         print("Item is a directory: " + str(path.isdir("Girish.txt")))
         
         if __name__ == "__main__":
             main()
         

Output:

Item exists: True
Item is a file: True
Item is a directory: False

Summary:

  • Use path.exists to check whether a File Exists
  • Use path.isfile and path.isdir to check whether a path is File or Directory respectively
  • In Python 3.4 and above versions use pathlib Module to check a file exists.